【发布时间】:2011-07-05 16:11:56
【问题描述】:
我正在实现 ASP MVC 应用程序的安全部分,我对如何实现自定义成员资格提供程序感到困惑,因为似乎有很多我不会使用的功能。
我要移植的应用程序通常通过存储在名为“SecurityManager”的会话中的对象来管理安全性,该对象包含当前用户和表单权限集合。此集合的每个项目都包含登录用户的每个表单的权限和该表单的每个字段的权限(如果假设没有完全控制表单,则需要它们)。
但是,当我看到 MembershipProvider 和 AuthorizeAttribute 标签的方法时,他们假设我将使用我的应用程序不使用的角色,我们只有权限组,这些权限组只是针对某些用户组组合在一起的权限,但它们往往会随时间变化。
所以基本上我唯一需要的是在发出请求时检查安全管理器是否存储在会话中(如果不是,则用户未经过身份验证并将被重定向到登录页面)和然后从会话中获取该对象并对其执行操作以了解用户是否可以访问该视图。
最好的方法是什么?我读过绕过自定义成员资格不是一个好主意。
【问题讨论】:
标签: asp.net-mvc security asp.net-mvc-3