2011-10-19 24 views
0

我正在使用C#.net編寫asp.net web應用程序。 我已經完成了表單身份驗證,這對於應用程序非常有效。 現在,我還有一個部分管理員文件夾,管理員可以訪問頁面。 我的問題是,當普通用戶來到我的網站,他訪問用戶/ login.aspx我已經做 formauthentication.redirectFromloginpage(....) 它工作正常。使用兩個web.config或兩個loginURL或兩個表單驗證工具DefaultURL

現在,當管理員部分需要訪問時,管理員將訪問 admin/login.aspx,我已經簡單地重定向到本節中的內部頁面,而不是完成身份驗證。

我想實現formauthentication,如果管理員通過系統驗證,但這將是其他頁面,我需要在登錄後重定向。

我的問題是,以任何方式使兩個不同的loginURL或DefaultURL適用於我的方案。

或其他任何方式(可使用兩個web.config文件????)

回答

1

是不是真的需要一個單獨的管理/ login.aspx的。

您可以爲普通用戶和管理員使用相同的登錄頁面。只需使用角色分隔管理員和普通用戶即可。並且拒絕不具有管理角色的用戶訪問管理頁面,並且您都已設置。

更新:如果要將它們重定向到其他頁面,請使用Login控件的LogggedIn事件。

If (Roles.IsUserInRole(User.Identity.Name, "Admin")) 
{ 
    Response.redirect(....); 

} 
+1

您似乎在錯誤的軌道上,如果我使用一個頁面,系統也會重定向到默認頁面,這在兩種情況下都是不同的。正常用戶有「home.aspx」,而管理員有「users.aspx」,像這樣 –

+0

在這種情況下,只處理LoggedIn事件。請參閱我的更新。 – Pleun

+0

是的,我知道這個解決方案,但這不是Formauthentication ...這樣的解決方案已經實現並且工作.. –