2012-03-02 3 views
0

Я запускаю веб-приложение ASP.NET MVC3 в IIS 7.5.IIS перенаправляет на неправильную страницу входа

При запросе страницы, требующей аутентификации, браузер должен быть перенаправлен на ~/Account/LogOn? ReturnUrl = ... Вместо этого браузер перенаправляется на: Account/Login? ReturnUrl.

В IIS я проверил три параметра проверки подлинности, но они выглядят правильно. Я перезапустил сервер миллион раз, но без результата.

Кто-нибудь знает, как это решить?

+0

Работает ли он на сервере разработки визуальной студии? – Marthijn

ответ

1

Введение это значение в web.config должно сделать трюк

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

Спасибо, что сделал трюк отлично! – jkokorian

+0

@jkokorian - Отлично, рад помочь – Pelle

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