IIS重定向到错误的登录页面

时间:2012-03-02 07:45:53

标签: asp.net-mvc-3 iis

我在IIS 7.5中运行ASP.NET MVC3 Web应用程序。

当请求需要身份验证的页面时,应将浏览器重定向到〜/ Account / LogOn?ReturnUrl = ... 而是将浏览器重定向到:帐户/登录?ReturnUrl。

在IIS中,我检查了身份验证设置,但它们似乎是正确的。我重启了服务器一百万次,但没有结果。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

将此值放在web.config中应该可以解决问题

<appSettings>
    <add key="loginUrl" value="~/Account/LogOn" />
    <add key="autoFormsAuthentication" value="false" />
</appSettings>

答案 1 :(得分:0)

您可以执行以下操作:

添加一个派生自 AuthorizeAttribute 的新类:

namespace CustomAuth
{
    public class MyCustomAuth : AuthorizeAttribute
    {
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            filterContext.Result = new RedirectResult("~/Account/LogOn");
        }
    }
}

然后将属性添加到方法或控制器:

 [MyCustomAuth]
    public class HomeController : Controller
    {
      public ActionResult Index(int id)
      {
          return View();
      }
    }