2014-02-06 35 views
2

在ASP.NET MVC 5您指定的方法ConfigureAuth(...)登錄URL路徑是從Application_Start()稱爲:ASP.NET MVC 5:自定義登錄網址基於本地化的路線參數

app.UseCookieAuthentication(new CookieAuthenticationOptions 
{ 
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 
    LoginPath = new PathString("/Account/Login") 
}); 

我需要好歹指定登錄路徑根據本地化的路由參數。

我想到的一種方法是將Application_AuthenticateRequest()中的用戶重定向到所需的登錄頁面,以防Request.IsAuthenticated爲假。但我不確定這是否是一個好主意。

回答

4

使用OWIN,您不能採用Application_AuthenticateRequest IIS編程模型。你應該假設OWIN的編程模型。

無論如何,在CookieAuthenticationOptions上,有一個Provider屬性。在這裏有一個你可以處理的ApplyRedirect事件。在那裏你可以改變重定向的URL。

+0

有關如何實現ApplyRedirect的詳細信息,請參閱此問題:[MVC 5如何使用本地化路由定義Owin LoginPath](http://stackoverflow.com/a/21660431/68940) – Richard