2011-06-03 118 views
4

我有一个用asp.net mvc写流利nhibernate的web应用程序。Asp.Net基于MVC动作的自定义授权

数据层次:邮政 - >分类 - > 公司

用户角色:用户,管理员

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

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

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

+0

你的问题是,到底是什么? (甚至没有问号)。对于普通技术,请参阅'AuthorizationFilterAttribute'和'Controller'的OnAuthorization'覆盖。您需要的多租户体系结构应该可能是一个单独的,与实现无关的问题。 – mnemosyn 2011-06-03 19:19:00

+0

@mnemosyn其实这不是一个问题。它正试图在建筑设计之前收集信息。 – gandil 2011-06-03 19:27:13

回答

2

实际上这有点棘手 - 您可能想重新考虑自定义授权并考虑在Application_AuthenticateRequest中填充角色,然后使用[Authorize]属性来执行实际检查,如果用户属于这些角色。你直接将它应用到动作方法,并避免自定义混乱,但实现基本相同的结果。我们有一个类似的讨论

尚未解决的: Questions about a Custom Security setup for MVC3 using overridden AuthorizeAttribute, thread safety, ChildActions and caching