2011-08-28 44 views
0

我目前使用MVC3兩個LoginUrl形式的認證

在我的應用我有一個需要登錄的唯一管理系統部分樓宇的網絡管理系統。 和演示文稿網站,該網站也爲登錄該網站的用戶提供了登錄表單。

我要完成的是,當未註冊的訪客嘗試進入控制器動作,他會重定向到登錄查看

但是,當未註冊的訪客嘗試進入系統控制器的動作,他會重定向到另一個登錄視圖。

它是否可行? 我知道,我可以把這個線在web.config中

<forms loginUrl="~/Account/LogOn" timeout="2880" />

但該行始終將用戶重定向到同一個登錄URL

我可以把web.config文件夾中查看文件夾內?

回答

1

你可以編寫一個自定義的授權屬性並覆蓋你會在其中登錄的HandleUnauthorizedRequest重定向到其他登錄視圖。然後,只需使用此自定義屬性修飾SystemController,而不是使用標準URL重定向到web.config中的URL。

0

loginUrl由FormsAuthentication.RedirectToLoginPage使用,但您可以在用戶身份驗證後使用傳統的Response.Redirect自行處理。你無法做的是爲管理員或普通用戶顯示不同的登錄頁面,因爲你不知道直到登錄哪一個登錄頁面。