访问web.config中的授权信息

时间:2009-08-06 18:14:43

标签: .net authorization roleprovider

我正在编写自定义角色提供程序,我需要以编程方式访问存储在web.config中的授权信息。 网站的某些部分只能由某些角色访问。我想知道哪些角色可以访问某个页面和/或某个角色可以访问哪个页面。

我似乎无法想出这个。

1 个答案:

答案 0 :(得分:9)

您可以通过System.Web.Security命名空间中的WebConfigurationManager类访问存储的任何信息,如ConnectionStrings,AppSettings和web.config中的其他定义值。

假设您已定义和授权部分为:

<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集合正是您正在寻找的。