Asp.net mvc 如何以安全的方式在ASP.NET MVC应用程序中创建角色和超级用户

Asp.net mvc 如何以安全的方式在ASP.NET MVC应用程序中创建角色和超级用户,asp.net-mvc,security,deployment,Asp.net Mvc,Security,Deployment,这可能被认为是一个重复的问题,正如已经被问到的那样,但我不喜欢任何答案,安全问题也没有得到解决 部署ASP.NET MVC应用程序时,创建角色和超级用户的正确方法是什么 我想到了两种方法:使用Application\u Start或自定义操作(如果名称不明显且未链接,则更好) 不管怎样,第一个用户的密码呢 我见过很多网络应用,它们让第一个访问它们的人成为超级用户;当你把这样的应用程序放到网上时,你只能祈祷成为第一个连接的人 设置密码最安全的方法是什么 在应用程序中对其进行硬编码 它是随机生成然

这可能被认为是一个重复的问题,正如已经被问到的那样,但我不喜欢任何答案,安全问题也没有得到解决

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

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

不管怎样,第一个用户的密码呢

我见过很多网络应用,它们让第一个访问它们的人成为超级用户;当你把这样的应用程序放到网上时,你只能祈祷成为第一个连接的人

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

  • 在应用程序中对其进行硬编码

  • 它是随机生成然后邮寄到某处的吗

  • 它是否随机生成并保存在文件系统的某个位置

  • 它是从文件系统上的文件中获取的吗

  • 还有更好的我想不出来的吗


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

部署时,我会运行一个脚本来创建我的用户

这确实意味着在我运行脚本之前,我的网站还没有“准备就绪”,但我对此没有意见

善良


Dan

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


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

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