2012-03-02 93 views
0

我正在IIS 7.5中运行ASP.NET MVC3 Web应用程序。IIS重定向到错误的登录页面

当请求一个页面,要求身份验证,浏览器应该被重定向到〜/帐号/ LogOn支持RETURNURL = ... 相反,浏览器重定向到:??帐户/登录RETURNURL。

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

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

+0

它在Visual Studio开发服务器上工作吗? – Marthijn 2012-03-02 08:18:07

回答

1

把在web.config中的这个值应该做窍门

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

谢谢,这完美的技巧! – jkokorian 2012-03-02 12:21:29

+0

@jkokorian - 太棒了,很高兴提供帮助 – Pelle 2012-03-02 13:13:49

0

你可以做的follwing:

添加从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(); 
     } 
    } 
+0

我想这会起作用,但似乎有点解决方法,应该不是必需的。 – jkokorian 2012-03-02 12:18:09