台灣最大程式設計社群網站
線上人數
1634
 
會員總數:240682
討論主題:186539
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 關於使用者權限問題
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於使用者權限問題
價值 : 50 QP  點閱數:196 回應數:8

樓主

miracle
門外漢
0 5
116 14
發送站內信

各位大大好


我現在有個網站
當使用者輸入帳號密碼後,系統自動判斷他是否admin user
然後admin可以去修改網頁 而user則否
但現在想要額外再新增一個使用權限admin2
它權限比user還多的功能在於 它可以也只能修改自己部門的資料之權限

我有文字概念 卻沒有程式概念

想請問大大們都用什麼來分權

我用來區分admin跟user的方法是用


按照道理是否我還要在一個else if?

不好意思,麻煩求救

搜尋相關Tags的文章: [ c# ] ,
本篇文章發表於2017-09-06 10:18
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

小魚
檢舉此回應
如果是簡單的功能,
用else if 就可以了,
比較複雜的功能,
可能就要用到權限管理了.
本篇文章回覆於2017-09-06 12:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

miracle
檢舉此回應
恩...就簡單的用else if 的話 我會把所有的textbox都打開給admin2
請問我要怎麼侷限它在他的部門就好呢
本篇文章回覆於2017-09-06 13:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

topcat
捐贈 VP 給 topcat 檢舉此回應
小喵是在資料庫中,記錄使用者在不同畫面中的不同權限
類似這樣



資料表中記錄著
使用者、畫面、瀏覽、新增、修改、刪除

因此,我可以寫好一個Function,傳入使用者、畫面名稱
就可以取得「瀏覽、新增、修改、刪除」的權限

畫面中,再依據「瀏覽、新增、修改、刪除」的權限,決定是否可以瀏覽此網頁(不可以就直接轉到非法登入的頁面去)
是否顯示「新增、修改、刪除」的按鈕(沒按鈕就沒權限)

大概是這樣的概念

^.^a
本篇文章回覆於2017-09-06 16:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

羅伯斯
檢舉此回應
一般針對多使用者權限的設定,大致上區分為執行、新增、修改、刪除、列印等五大功能
並以一個使用者權限資料表,來記錄個別使用者,對每項功能的權限明細
當使用者欲操作某項功能時,需先經過比對使用者權限資料表內,該使用者的權限內容
若為True表示該使用者具有操作該項功能的權限,反之若為False則不具有操作該項功能的權限
本篇文章回覆於2017-09-06 23:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

miracle
檢舉此回應
有一點點概念了 我試試看
本篇文章回覆於2017-09-07 08:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

miracle
檢舉此回應
那個不好意思
我覺得我接下來要問的問題很白癡
但還是想要問一下

我就想如果是ADMIN2我就顯示 UPDATE 按鈕 否則不顯示



可是我在定義

else if (user.emprole == "admin2")
它可以判斷我的登入者是admin2

可是我想用如果admin2的 部門等於他點選要修改人員部門是否一致 才會顯示update 否則不會
於是我在下面又寫了一行 if (user.unit== "lblunit")
user.unit卻出現空值

還是我想錯了?

本篇文章回覆於2017-09-07 09:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
不錯的參考

topcat
捐贈 VP 給 topcat 檢舉此回應
從您給的訊息,無法得知您為何下面那邊的user.unit是空值
您的user哪裡取得,怎麼存放?用什麼存放?(Session?Cookie?ViewState?)
當postback之後,有重新取回嗎?

(
不知道您對於ASP.NET的「狀態」理解有多少?
您是否知道,Web系統,是沒有狀態的
PostBack是什麼,每次PostBack你的這個程式會重新執行起來,狀態是沒有保留的∼


ASP.NET WebForm的「狀態處理」是一個很重要的概念
建議您要把這部分的概念補足,開發上才不會有問題


另,題外話

如果您不要用資料庫去管理
那麼

建議您把判斷是否有權限的動作,至少寫成一個Function



那麼,再不同的地方,要做判斷,您只要把要呼叫這個function就可以
例如



^_^
本篇文章回覆於2017-09-07 10:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

miracle
檢舉此回應
不好意思....因為剛學沒多久
有些都是模仿後去修改 所以很多都不太了解
不過我剛剛有找出我的問題點了

我再去判斷他是不是使用者
進而再去假設他的部門代號會等於TEXTBOX的部門資料
再去選擇可以顯示或不顯示什麼

結果我沒有把TEXTBOX的資料先帶入進去 所以一直是空值(哭笑不得)
本篇文章回覆於2017-09-07 13:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.