我在我的asp.net web应用程序中有一些.aspx页面,只有管理员才能看到,还有一些.aspx页面,所有用户都可以看到。如何限制普通用户访问供管理员访问的页面?
更重要的是,我没有实现来自asp.net的授权,我的意思是我自己使用会话和标志变量实现身份验证。在此场景中,如何根据权限将内容限制为用户?
发布于 2011-05-09 04:57:44
将这些页面放在它们自己的目录中,并使用该目录中的web.config
来限制对它们的访问。
<configuration>
<system.web>
<authorization>
<allow roles="Admins"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
不要重复发明轮子!
发布于 2011-05-09 05:16:35
如果您正在使用自己的角色,您可能希望创建一个自定义的角色提供程序,并让它从会话中返回用户的角色,这可能能够弥补这两个差距……
HTH。
发布于 2018-06-06 08:43:05
我知道这有点老了,但以防其他人正在使用会员资格。在您的web.config中使用以下代码:
<configuration>
<!-- Only administrators may access AdminTools.aspx -->
<location path="AdminTools.aspx">
<system.web>
<authorization>
<allow roles="Administrators" />
<deny users="*" />
</authorization>
</system.web>
</location>
</configuration>
参考:使用C# VB构建自己的ASP.NET 2.0网站
https://stackoverflow.com/questions/5930314
复制相似问题