基于Asp.Net MVC动作的自定义授权

时间:2011-06-03 19:11:43

标签: asp.net asp.net-mvc-2 authorization

我有一个用asp.net mvc编写的web应用程序,具有流畅的nhibernate。

  

数据层次结构:发布 - >类别 - >   公司

     

用户角色:user,admin

我试图找到一个开发自定义授权的架构。用户可以是多个公司的成员。用户也可以是公司的管理员,而他也可以是另一家公司的成员。

我们还希望根据控制器,操作或动作ID开发自定义授权。例如,用户可以只管理一个类别。 即;在我们未来的系统中,将存在用户和用户组,其中用户和组属于公司。虽然将根据url(contoller / action / id)对其应用自定义授权。

任何推荐,有用的链接等?

1 个答案:

答案 0 :(得分:2)

实际上这有点棘手 - 您可能想重新考虑自定义授权并考虑填写说明Application_AuthenticateRequest中的角色,然后使用[Authorize]属性进行实际检查,如果用户属于这些角色。这种方式您将它直接应用于操作方法并避免自定义混乱,但实现了基本相同的结果。

我们正在进行类似的讨论,但尚未解决: Questions about a Custom Security setup for MVC3 using overridden AuthorizeAttribute, thread safety, ChildActions and caching