iT邦幫忙

0

[C#] ASP.NET 網頁權限的問題

https://ithelp.ithome.com.tw/questions/10190444

因為第一次設計帳戶,想請問一下
a.aspx 和 b.aspx 和 c.aspx .....後續依此類推假設有50頁
page_id有1~50

aspx.cs設定page_id的部分,是直接宣告一個變數,然後給值
再透過Session取得資料庫page_id 做比對?
權限=Y 可進入,權限=N 不可進入
我的想法這樣是對的嗎?

還是有更正確的方式???
另外是否要每頁都要全部設定一次?
謝謝~

看更多先前的討論...收起先前的討論...
新增一個類別,寫靜態函式來處理權限判斷 ,每一頁只要丟變數給它就好
ckp6250 iT邦研究生 1 級 ‧ 2020-09-22 10:41:21 檢舉
您文首列出的那個網址,已經講得很清楚了啦,
首先,您要有【權限表】,
使用者登入後,先去讀權限表,再把他有權限的 page 顯示在頁面,
比如總共有50頁,某甲的權限只有5頁,
那麼,您應該只在畫面上秀出這5頁讓他可以點選,
而不是全部列出來,然後再【權限=Y 可進入,權限=N 不可進入】,使用者會氣死!

【眼不見為淨】,是設計權限的重要概念,使用者沒有權限的東西,不要讓他看到。
阿偉 iT邦新手 2 級 ‧ 2020-09-22 11:02:08 檢舉
因為我頁面有有 CSS設計的選單,選單都會顯示
所以才會想說【權限=Y 可進入,權限=N 不可進入】
另一個想法是讓使用者知道總共有哪些內部網頁
以後的新進使用者,他才知道有這些頁面
若他無法進入可以提出申請權限
那就在取LIST的時候也把權限顯示出來
前後端都驗證權限就好了
就算選單看不到,每一頁還是要驗證權限。
阿偉 iT邦新手 2 級 ‧ 2020-09-22 14:41:44 檢舉
抱歉想問一個問題,為什麼
if (權限!= "Y")
{
Response.Write("<script>alert(\"您無權限此功能,請洽系統管理員\")</script>");
Response.Write("<script language=javascript>history.go(-2);</script>");
}
只會跳出彈跳視窗,卻不會回上一頁?
tx50xyz iT邦新手 5 級 ‧ 2020-09-23 09:02:15 檢舉
不對,要比對二個,一個網頁ID,一個是人員ID,回傳可否進入!!
阿偉 iT邦新手 2 級 ‧ 2020-09-23 11:30:33 檢舉
搞定了,謝謝!

1 個回答

0
topcattw
iT邦新手 5 級 ‧ 2020-11-19 12:04:24

小喵這一系列的文章,提供您參考
https://dotblogs.com.tw/topcat/2008/05/07/3826

我要發表回答

立即登入回答