动态允许角色到页面或文件夹

时间:2011-11-04 11:45:38

标签: asp.net authentication membership

我正在使用asp.net webforms。我使用web.config来定义哪些角色可以访问页面和文件夹。像这样

   <system.web>
     <authorization>
       <allow roles="Admin" />
       <deny users="*" />
     </authorization>
   </system.web>

我该如何动态执行此操作?所以没有部署,我可以添加一个角色,比如'Developer'

有没有办法从数据库中读取这些内容? 感谢

1 个答案:

答案 0 :(得分:1)

不确定你到底在问什么......

您发现的授权称为URL Authorization,由内置ASP.NET模块提供。此实现使用与IPrincipalHttpContext.User)关联的上下文来查看经过身份验证的用户是已配置角色的成员。因此,如果您想拥有自己的任意角色(而不是Windows角色),您可以提供自己的IPrincipal实现,该实现将从数据库(或您的任何其他来源)检索当前用户的已分配角色想用)。但是,授权信息仍将保留在配置文件中。

如果您要移动授权信息(谁可以访问什么),那么您可以实现自己的授权模块。该模块可以从数据库中读取此信息,并以您希望的方式强制实施访问安全性。