2011-12-19 69 views
0

简单但很难解决Web窗体上的问题。ASP.NET Web窗体 - Web窗体的安全性

我执行我的web表单的应用程序基于角色的访问,但我想定制基于Web窗体或URL访问,像

/行政/ * - >只有管理员 /用户/ * - >管理员和用户 /* - >匿名也

任何提示如何在web.config上做到这一点?

谢谢你和问候

回答

1

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

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

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

从而给予只能访问谁是管理员的用户。将其应用于其他子文件夹即可完成 - 在角色管理器存在的情况下提供有关用户角色的信息。

创建本地web.config仅包含每个子文件夹中的授权数据,可以对您的授权进行细化控制。另一种方法是在主要的web.config中提供这些信息,但很快就会由于涉及不同位置的许多授权节点而过载。