代码之家  ›  专栏  ›  技术社区  ›  giorgian

如何安全地在ASP.NET MVC应用程序中创建角色和超级用户

  •  0
  • giorgian  · 技术社区  · 15 年前

    这可以看作是一个重复的问题,因为 a similar one 已经有人问过了,但我不喜欢任何答案,安全问题也没有解决。

    部署ASP.NET MVC应用程序时,创建角色和无风险超级用户的正确方法是什么?

    我想到两种方法:使用 Application_Start 或自定义操作(如果名称不明显且未链接,则更好)。

    不管怎样,第一个用户的密码怎么办?

    我已经看到了大量的网络应用程序,它们很高兴让第一个访问它们的人成为超级用户;当你把这样的应用程序放到网上时,你只能祈祷自己是第一个连接的人。

    设置密码最安全的方法是什么?

    • 在应用程序中硬编码?

    • 它是随机生成然后邮寄到某个地方的吗?

    • 它是否随机生成并保存在文件系统的某个地方?

    • 它是从文件系统上的一个文件中提取的吗?

    • 我想不出更好的办法?

    3 回复  |  直到 15 年前
        1
  •  0
  •   Wyatt Barnett    15 年前

    我看到的最好的解决方案是允许通过一些安装位创建超级用户,然后要求用户删除或禁用安装位以运行应用程序。潜台词是这样工作的,WordPress也是这样工作的(至少在我上次安装它的时候,可能是在90年代)。

        2
  •  0
  •   Daniel Elliott    15 年前

    我使用ASP.NET成员资格提供程序和SQL数据库。

    部署之后,我运行了一个脚本来创建我的用户。

    这确实意味着我的网站在运行脚本之前还没有“准备好投入使用”,但是我同意。

    仁慈,

        3
  •  0
  •   blowdart    15 年前

    假设应用程序的管理员不想运行上载预配置的数据库,您可以在web.config中配置安装密码,该密码必须在上载之前设置。然后在安装页面中提示输入此密码和管理凭据。显然,您的安装页面会检查空白的安装密码并拒绝继续。

    然后,您可以添加一个HTTP处理程序,该处理程序检查应用程序是否已完成安装过程,拒绝在安装完成之前提供与安装相关的页面以外的任何页面。