我正在使用ASP.NET 4.0,C#和IIS7的Web应用程序。 Web应用程序是定义多个用户角色的内容管理系统,例如编辑器和管理员。这些用户和角色由asp.net成员资格框架管理,关联的数据库表使用aspnet_regsql集成到Web应用程序的数据库中。最后,Web应用程序在ApplicationPoolIdentity下运行。因此,Web应用程序在虚拟帐户“IIS AppPool \”下运行,它不与任何其他应用程序共享。ASP.NET/IIS7 - 保护对多个用户角色的SQL Server访问
该网站的设计使得用户帐户由管理员发布(没有公共注册页面),尽管此详细信息可能无关紧要。无论如何,管理员应该有权创建和删除用户并编辑站点上的任何内容。另一方面,编辑应该只能编辑网站的指定部分。最后,网站的匿名访问者应该只能查看内容,而不能编辑。
问题是:在SQL Server数据库中向IIS AppPool \虚拟帐户授予读写访问权限并为Web应用程序的底层业务逻辑中的不同用户角色提供功能会不安全?
我不这么认为,但由于数据完整性的必要性,我认为征求其他开发者的意见可能是一个好主意。
如果(且仅当)这会造成不可预见的安全风险,使用模拟,使用SQL身份验证将web.config文件中的多个连接字符串存储或在数据库本身中跟踪用户权限是否更好? ?