2010-01-22 42 views
0

這是我遇到的常見問題。 當用戶點擊其中一個菜單項時,如果用戶沒有登錄,我想重定向到登錄頁面本身。 這是做這件事的有效方法?如何爲aspx頁面添加控制器?

在Jsp中,我們爲每個頁面都有一個控制器,我不知道我們在asp.net中使用了什麼。

回答

1

最簡單的方法是使用web.config文件。查看<authentication>部分的文檔。你可能最終得到這樣的設置:

<!-- Anonymous users denied, exceptions in the Location sections below --> 
<authorization> 
    <deny users="?" /> 
</authorization> 
<authentication mode="Forms"> 
    <forms loginUrl="~/LogOn.aspx" timeout="2880" name=".ASPXAUTH_CMS" protection="All" /> 
</authentication> 

<!-- Allow all users to see the login screen --> 
<location path="~/LogOn.aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 

如果沒有登錄的用戶,他們將被重定向到「Logoin.aspx」,一旦他們已經成功通過驗證,他們將被重定向回原來的URL。

+0

我不使用的登錄Control.I想從我的數據庫登錄。 –

+0

Logon.aspx可以是任何頁面,它的功能取決於您。 – AUSteve

0

如果你沒有使用ASP.NET Membership,並使用你自己的變量cookies等登錄用戶,那麼你可以重寫Page Class,並從這個Page類派生你所有的頁面。 然後,所有頁面都使用構造函數構造Page類,無論頁面是否需要登錄。當頁面需要登錄並且證書不存在時,Page類會檢查此變量,同時構造URL並將其重定向到登錄頁面。

0

嘗試Response.Redirect("TheLoginPage.aspx");