【问题标题】:Get authorization rules from web.config从 web.config 获取授权规则
【发布时间】:2012-09-10 12:00:08
【问题描述】:

在网络配置中,我有几个基于位置的授权规则,例如:

<location path="error.aspx">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>
<location path="ResetPassword.aspx">
    <system.web>
        <authorization>
            <allow users="?" />
        </authorization>
    </system.web>
</location>

如何在代码 (ASP.NET) 中获取所有这些规则?

【问题讨论】:

  • 你想做什么?只是问问。
  • 我正在尝试为匿名页面应用自定义授权
  • 快速思考一下,您是否查看过 WIF ClaimsAuthN/ClaimsAuthZ 管理器来封装您的授权逻辑?

标签: asp.net web-config authorization


【解决方案1】:

看看这个:

var config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
var section = config.GetSection("system.web/authorization") as AuthorizationSection;

foreach (AuthorizationRule rule in section.Rules)
{
    if (rule.Action.ToString().ToLower() == "allow")
    {
        //TODO
    }
}

深入研究 AuthorizationRule 类属性。

您可以在此处阅读更多内容:http://lajak.wordpress.com/2012/05/16/read-authorization-section-from-web-config/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 2011-09-25
    • 2011-04-21
    • 2017-09-16
    • 1970-01-01
    相关资源
    最近更新 更多