我们目前正在重新创建一个比我们现有流程相形见绌的全新安全模型。现在,我们计划在登录过程中抓取用户的角色,然后使用Base Page类检查用户是否具有用户导航到的相应页面的角色。
我们也可以通过用户的角色来限制菜单的选项,但我们遇到的问题是用户通过输入或使用旧书签导航到我们系统中的页面。显然,我们需要某种页面级访问。
我们的Base Page类中的一个简单函数可以检查Arraylist中的角色与页面的指定角色,但是我想知道是否有任何内置功能可以支持这个或更清晰的解决方案。
答案 0 :(得分:2)
你有没有看过ASP.Net会员资格呢?它会处理您上面列出的所有场景(修剪菜单,页面安全性),并且使用起来非常简单。
有关会员资格的详细信息,请参阅此处 - http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx。
答案 1 :(得分:1)
您使用的是内置会员资格吗?
如果是这样,您可以使用location
文件的web.config
部分来限制对单个页面或整个目录的访问。来自MSDN:
以下示例允许使用 匿名用户访问 Logon.aspx页面:
<configuration>
<location path="Logon.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
</configuration>