2012-02-21 92 views
0

是否存在用於處理未登錄用戶但通過手動輸入URL來嘗試進入網頁的用戶的錯誤代碼?「未登錄」或頁面重定向的錯誤代碼

當前我的web應用程序將用戶重定向到登錄頁面,但我想知道是否有更好的方法來處理頁面重定向到web.config中的錯誤頁面。

編輯:在web.config中

Forms標籤:

<forms name=".ADAuthCookie" loginUrl="Login.aspx" defaultUrl="~/dataRefresh.aspx" timeout="20" />

+0

如果*未經過身份驗證*是爲了在您的應用程序中出現錯誤,那麼您可以簡單地編輯登錄頁面以顯示該錯誤。我假設你正在尋找類似「拒絕訪問」的消息? – Yuck 2012-02-21 02:06:04

+0

@Yuck是的,我正在尋找一個解決方案來重定向用戶顯示錯誤消息,而不是登錄頁面。我在web.config中的我的'forms'標籤上編輯了我的帖子。 – gymcode 2012-02-21 02:15:55

+2

保持在一個有效的用戶可能已經書籤一個頁面,並在他們的登錄過期後訪問它。如果你不轉發他們到登錄頁面,一定要做一些有意義的事情。 – 2012-02-21 02:27:56

回答

4

你需要在你的Global.asax.cs,在Application_EndRequest事件處理

您將需要創建一個處理EndRequest事件的HttpModule並執行以下處理噝聲:

if(Response.StatusCode == 401) 
    { 
    // add code to redirect to the access denied page 
    } 

你的HttpModule將需要在UrlAuthorizationModule前進行註冊,以便你可以做重定向的UrlAuthorizationModule做了自己之前。

這將對錶單身份驗證通常會路由到登錄頁面的所有請求執行此操作。

+0

我可以知道如何創建'Global.asax.cs'嗎?如果您已經擁有一個不需要創建該名稱的文件,我目前有一個名稱爲 – gymcode 2012-02-21 03:24:06

+0

@RUHAHAO的文件。你可以添加處理程序。 – 2012-02-21 03:27:42

+0

對不起,我的意思是我沒有這個文件,輸入錯誤 – gymcode 2012-02-21 04:00:25