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

时间:2009-09-04 14:43:06

标签: asp.net-mvc security deployment

这可能被认为是一个重复的问题,因为a similar one已被提出,但我不喜欢任何答案,并且没有解决安全问题。

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

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

无论如何,第一个用户的密码怎么样?

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

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

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

  • 随机生成然后邮寄到某处?

  • 随机生成它然后保存在文件系统的某个地方吗?

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

  • 我想不出更好的东西?

3 个答案:

答案 0 :(得分:0)

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

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

这确实意味着我的网站在运行脚本之前并没有“为业务做好准备”,但我对此感到满意。

善,

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我所看到的最佳解决方案是允许通过一些安装位创建超级用户,然后要求用户删除或禁用应用程序运行的安装位。 Subtext以这种方式工作,Wordpress也是如此(至少我最后一次安装它时,可能已经回到了90年代)。