未授权访问未使用AuthorizeAttribute重定向

时间:2016-05-10 13:51:42

标签: c# asp.net-mvc asp.net-mvc-5

我已实施CustomAuthorization覆盖AuthorizeAttribute

public class MyAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        var isAuthorized = base.AuthorizeCore(httpContext);
        var isUserExist = false;

        if (isAuthorized)
        {
    //To check if user exists in DB     
        }

        return isAuthorized && isUserExist;
    }
}

这项工作正常,当用户未获得授权时,它会显示401未经授权的错误。 但在这种情况下,我想将其重定向到Custom Unauthorized Page。为此,我在web.config

中添加了以下内容
<customErrors mode="On" defaultRedirect="~/Home/Error">
  <error statusCode="401" redirect="~/Home/Unauthorized" />
</customErrors>

在我的控制器中,

[Authorize]
public class HomeController : BaseController
{
    [AllowAnonymous]
    public ActionResult Unauthorized()
    {
        return View(ActionMethods.HOME_UNAUTHORIZED);
    }
}

我的问题是,它没有重定向到自定义页面,而是提示输入用户名/密码浏览器弹出窗口。

分享想法/经验会更好。

从评论更新:

我正在使用Windows AuthenticationIIS同时启用Windows AuthenticationAnonymous Authentication

0 个答案:

没有答案