我正在编写一个自定义角色提供程序,我需要以编程方式访问存储在 web.config 中的授权信息。站点的某些部分只能由某些角色访问。我想知道哪些角色可以访问页面和/或某个角色可以访问哪个页面。
我似乎无法弄清楚这一点。
我正在编写一个自定义角色提供程序,我需要以编程方式访问存储在 web.config 中的授权信息。站点的某些部分只能由某些角色访问。我想知道哪些角色可以访问页面和/或某个角色可以访问哪个页面。
我似乎无法弄清楚这一点。
您可以通过 System.Web.Security 命名空间中的 WebConfigurationManager 类访问存储在 web.config 中的任何信息,例如 ConnectionStrings、AppSettings 和其他定义的值。
假设您已将授权部分定义为:
<system.web>
<authorization>
<allow roles="admin,moderator" />
<deny users="?" />
</authorization></system.web>
您刚刚创建的部分意味着具有管理员和/或版主角色的用户可以访问其中的页面,并拒绝在没有登录信息的情况下尝试访问的所有人(匿名)。
为此,只需调用 WebConfigurationManager 的 GetSection 方法
AuthorizationSection auth = WebConfigurationManager.GetSection("system.web/authorization") as AuthorizationSection;
AuthorizationSection 类将为您提供
Rules
正是您正在寻找的集合。