【发布时间】:2012-11-25 21:26:36
【问题描述】:
构建一个 MVC3 应用程序,TPTB 希望我们使用他们的自定义授权提供程序。然而,在开发过程中,这个身份验证提供程序有点痛苦,因为它要么会在您关闭/重新启动浏览器之前给出错误,要么会要求您在每次编译时重新登录。
目前,我刚刚将 <authentication mode="None"/> 添加到 web.config,它工作正常,直到我遇到使用 [Authorize(Roles = "Admin")] 过滤器的操作或控制器(它可以是任何角色,而不仅仅是管理员)。当它点击其中一个时,它只会呈现一个空白页面。
有没有办法在全局范围内暂时关闭这些过滤器?或者只是在我进行开发时为用户提供所有角色?
编辑
让我澄清一下——我实际上是在将一个大型应用程序从 MVC2 移植到 MVC3。它有很多 [Authorize(Roles="Admin")] 和 [Authorize(Roles="Admin,Editor")] 贯穿其中。如果可能的话,我宁愿不改变所有这些。
我是否应该只创建一个小型自定义角色提供程序来自动提供所有角色?
【问题讨论】:
-
Anri 的回答更好,因为它不允许使用 http 代理漏洞来获取服务器上的管理员权限。
标签: c# asp.net-mvc asp.net-mvc-3 authorization authorize-attribute