【问题标题】:ASP.NET Web Forms - Security of Web FormsASP.NET Web 窗体 - Web 窗体的安全性
【发布时间】:2012-01-23 13:02:13
【问题描述】:

关于 Web 表单的简单但难以解决的问题。

我在我的 Web 表单应用程序上强制执行基于角色的访问,但我想根据 WebForm 或 URL 来定制访问,例如

/Administration/* --> 只有管理员 /Users/* --> 管理员和用户 /* --> 也是匿名的

关于如何在 web.config 上执行此操作的任何提示?

谢谢你和最好的问候

【问题讨论】:

    标签: c# asp.net webforms


    【解决方案1】:
    <location path=”Admin”>
                    <authorization>
                                    <allow roles=”Admin” /> 
                                    <deny users=”*” />
                    <deny roles=”*” /> 
                    </authorization>
    </location>
    

    或在这里查看:http://support.microsoft.com/kb/316871http://weblogs.asp.net/gurusarkar/archive/2008/09/29/setting-authorization-rules-for-a-particular-page-or-folder-in-web-config.aspx

    【讨论】:

      【解决方案2】:

      最简单的方法是在每个子文件夹中创建本地 web.config 文件。这样的本地web.config 只会包含授权信息,以便内置的UriAuthorizationModule 可以为您完成其余的工作。

      例如,在 /Admin 文件夹中创建一个 web.config

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

      因此仅授予管理员用户访问权限。将相同的内容应用于其他子文件夹,您就完成了 - 在角色管理器存在并提供有关用户角色的信息的情况下。

      在每个子文件夹中创建仅包含授权数据的本地 web.configs 可让您对授权进行细粒度控制。另一种方法是在主要的web.config 中提供此信息,但很快就会因为许多授权节点引用不同的位置而过载。

      【讨论】:

        猜你喜欢
        • 2016-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-23
        • 2014-01-08
        相关资源
        最近更新 更多