我正在尝试实施自定义授权,但没有取得多大成功。我在我的基本控制器中为OnAuthorize
创建了一个重载,它执行授权。但它似乎无法与Windows身份验证一起正常工作(当我的授权检查通过时,我在IE中获得了登录提示)
我读过的另一种方法是创建一个自定义require属性来进行身份验证。这似乎更像是一个黑客而不是一个正确的解决方案(或者在asp / mvc中没有可用于此的扩展点?)
有人可以告诉我如何使用标准的RequiresAttribute进行自定义授权吗?
我正在使用ASP.NET MVC3 RC。
答案 0 :(得分:0)
你可能会混淆概念。
您的应用程序使用的是身份验证方法的概念。这由ASP.NET本身处理,您需要在web.config中进行配置。默认情况下,MVC项目模板使用表单身份验证。
另一个概念是您的应用程序对不同角色的授权(或未授权)用户的行为方式等。OnAuthorize
,IAuthorizationFilter
和AuthorizeAttribute
之类的用户适合。例如,您只能以“管理员”角色允许用户访问部分应用程序。