我们的应用程序正在从WebForms迁移到MVC。我们有不同的方式来处理授权。查询数据库视图以验证用户授权。根据每个用户,该视图返回所有菜单层次结构。例如,如果User1尝试访问名为SecretList.aspx的页面,则通过菜单层次结构(在auth后保存在HTTP Session中)应用搜索以检查访问授权。如果该用户存在与SecretList.aspx相关的菜单项,则授予访问权限。MVC控制器访问
我的问题是,如何在ASP.NET MVC 3中实现这种方法?
我不喜欢把每个控制器action属性,我一直读到路由约束和自定义控制器。
对于路由约束,我可以访问HTTP会话并检索我的授权查询的菜单层次结构吗?
要自定义控制器,哪种方法应该考虑重载?在Controller执行完整的Action代码之前,我可以检查授权并重定向到另一个视图吗?
其他更好的主意?
您可以使用标准角色提供程序还是自定义它? http://stackoverflow.com/questions/376655/asp-net-mvc-problem-setting-the-authorize-attribute-role-from-a-variable-requi – kenny 2012-04-25 02:20:43
我没有访问我的代码中的角色数据。所有角色和用户关系都在数据库视图中。 – 2012-04-25 02:41:00
所以他们在SQL成员资格提供者。 – kenny 2012-04-25 02:53:36