这可能被认为是一个重复的问题,因为a similar one已被提出,但我不喜欢任何答案,并且没有解决安全问题。
部署ASP.NET MVC应用程序时,创建角色的正确方法和没有风险的超级用户是什么?
我想到了两种方法:使用Application_Start
或自定义操作(如果名称不明显且未链接,则更好)。
无论如何,第一个用户的密码怎么样?
我见过大量的网络应用程序,让第一个访问它们的人成为超级用户;当你把这样的应用程序放到网上时,你只能祈祷成为第一个连接的人。
设置密码最安全的方法是什么?
在应用程序中对其进行硬编码?
随机生成然后邮寄到某处?
随机生成它然后保存在文件系统的某个地方吗?
是从文件系统上的文件中获取的吗?
我想不出更好的东西?
答案 0 :(得分:0)
我使用ASP.NET成员资格提供程序和SQL数据库。
部署后,我运行了一个创建用户的脚本。
这确实意味着我的网站在运行脚本之前并没有“为业务做好准备”,但我对此感到满意。
善,
丹
答案 1 :(得分:0)
假设应用程序的管理员不想运行上传预先配置的数据库,您可以在web.config中配置安装密码,必须在上载之前设置该密码。然后在您的安装页面提示输入此密码和管理员凭据。显然,您的安装页面将检查空白安装密码并拒绝继续。
然后,您可以添加一个HTTP处理程序,用于检查应用程序是否已完成安装过程,拒绝在安装完成之前提供除安装以外的任何页面。
答案 2 :(得分:0)
我所看到的最佳解决方案是允许通过一些安装位创建超级用户,然后要求用户删除或禁用应用程序运行的安装位。 Subtext以这种方式工作,Wordpress也是如此(至少我最后一次安装它时,可能已经回到了90年代)。