1
试图了解如何在调用具有Authorize
标头且仅重定向到视图的控制器操作时避免请求用户名和密码。如何在ASP.NET MVC中授权失败时显示自定义错误
在我的web.config我有
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" cacheRolesInCookie="false">
<providers>
<clear />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
然后,在我的控制,我前缀的动作如下
[Authorize(Roles = "DOMAIN\\Group")]
public ActionResult Index()
{
...controller action code here
}
如果我将其设置为我属于一个域\组到,那么应用程序就像预期的那样工作。如果我将其更改为虚假组进行测试,则会显示用户名和密码对话框。显然,认证永远不会发生。如果我在对话框中单击取消,我会重定向到401错误页面。
我想要做的是,因为根据定义在web.config文件中只有Windows用户可以连接,如果该Windows用户不在所选组中,只需重定向到特定的View而不是提示用户名和密码。
DOH !!对于.NET和C#来说相当新,我忘了所有关于自定义验证类。像魅力一样工作 –