2011-02-06 60 views
0

我建立一個網站,其中一個需要登錄到可以訪問他/她的個人資料 所以,有些頁面是爲用戶和管理員相同(ieboth的他們可以查看使用相應的登錄ID)的網頁,我用來確保沒有人可以進入的網址和訪問,而無需登錄的代碼是導航到一個網站管理員網頁

 if (Session["cod"] == null && Session["admin"] == null) 
    { 
     Response.Redirect("You need to Login.aspx"); 
    } 
在頁面加載事件

這是工作精絕

但問題上升中保留用於管理這些頁面的情況下;在這裏THI S代碼不起作用 這裏記錄後甚至簡單的用戶可以訪問通過寫入到一個管理頁面路徑 Thanx提前

+0

我想那就太繁瑣,以檢查每個頁面的授權。不應該在一個層面上完成...也許在HTTP處理程序? – Ritesh 2011-02-06 14:18:53

回答

0

我猜你的AND操作在你的if語句需要是一個OR 。

利用上述邏輯,用戶將被拒絕訪問(和重定向)如果沒有cod會話沒有admin會話。

這意味着鱈魚會話將被允許訪問的用戶。

+0

當我們使用OR而不是AND,然後就成爲真正的所提供的任何聲明的情況是和這個人會被重定向到登錄頁面 – Roadrunner 2011-02-06 14:25:43

0

除了重定向到登錄頁面,你需要添加一些代碼來檢查授權的每一頁。

例如,如果用戶嘗試訪問的管理頁面,你可以寫:

if (Session["cod"] != null && Session["admin"] == null) 
{ 
    Response.Redirect("user home page.aspx"); 
} else if (Session["cod"] == null && Session["admin"] == null) { 
    Response.Redirect("You need to Login.aspx"); 
}