我使用ASP.NET登录控件和表单认证作为ASP.NET web应用程序的成员资格/凭据。
我有两个角色:
我希望页面可以被四个不同的组查看:
在ASP.NET我的视频系列:成员和角色中的示例中展开,我将这些页面文件放入这样的文件夹中:

我使用ASP.NET网站管理工具为每个文件夹设置访问规则。
它可以工作,但在我看来似乎是疯狂的,它给当Login.aspx不在根目录时和ReturnUrl参数 of Login.aspx带来了一些问题。
有更好的方法吗?是否有一种简单的方法可以在页面级别而不是文件夹级别设置权限?
发布于 2008-08-28 20:26:50
我头上有几个解决方案。
发布于 2008-08-28 20:31:46
我过去使用过的一个解决方案是:
这允许对每个页面进行自定义,而不必在web.config中放置大量的内容来控制每个页面。
发布于 2008-08-28 20:51:53
在母版页中,我定义了一个可切换安全性检查的公共属性,默认为true。我还声明了一个字符串,它是该页面所需角色的分隔列表。
在母版页的页面加载中,我执行以下操作
if (_secure)
{
if (Request.IsAuthenticated)
{
if (_role.Length > 0)
{
if (PortalSecurity.IsInRoles(_role))
{
return;
}
else
{
accessDenied = true;
}
}
else
{
return;
}
}
}
//do whatever you wanna do to people who dont have access.. bump to a login page or whatever而且你还得把
在页面顶部,这样您就可以访问母版页的扩展属性。
https://stackoverflow.com/questions/33263
复制相似问题