iT邦幫忙

0

MVC 身分驗證

請問MVC架構,不同的身分在同一個View要顯示不同的功能選單,一樣是在View裡做判斷嗎?
想請問各位高手 如何做 可以提供個方向嗎

看更多先前的討論...收起先前的討論...
q00153 iT邦新手 3 級 ‧ 2018-11-26 10:40:19 檢舉
SO~~~您的困難點在於???
https://www.google.com.tw/search?q=mvc+ldap+authentication 要找這個嘛,你可能要用LDAP 去做會比較快,抓LDAP OU 資訊然後根據不同的OU 去顯示不同的功能
jasonOuO iT邦新手 5 級 ‧ 2018-11-27 06:03:49 檢舉
不同身分是指說像是會員跟管理者嗎?
會員能做的管理者都可以,但是像是資料處理方面就是會員不能看到的,而管理者可以透過後台管理系統對資料進行處理
是上面的問題嗎?
sam0407 iT邦高手 1 級 ‧ 2018-11-27 08:44:52 檢舉
以MVC的分工來看,View只是檢視畫面,不應和權限扯上關係。
權限的判斷要在Controller作,再決定要存取那個Model及View
sam0407 iT邦高手 1 級 ‧ 2018-11-27 08:55:06 檢舉
可以參考下這個連結:
https://bbs.csdn.net/topics/392075704

1 個回答

0
浩瀚星空
iT邦大師 1 級 ‧ 2018-11-27 09:49:54

一般設計的方向有如下

1.view內功能權限顯示:
將用戶或群組在model或Controller做個權限讀取的參數給view。
view內部則是用該權限來決定要顯示的選單
其優點是功能列可以統一一個view內來做控管。且容易多重選單控制
但缺點就是像sam說的,view做太多判斷控制。失去了view的主要用處。

2.多view分段功能顯示:
將要顯示的選單分成多個選單view來處理。再由Controller來決定要取用哪一個view選單。
此方式是適合2~3種選單的情況下。一方面不需要太多的view。也比較直覺性。
但就不太適合多重權限。因為沒固定制的選單view。

3.參數化box輸出顯示:
將選單的資料採用json或陣列的方式來做輸出。再套入一個單純的選單view。
這樣的方式也是一種跟第1種方式有點類同。差別就是有先將view的部份變成是一種套用樣版。
選單參數資料也是一樣在model或Controller產生好後直接輸出。
跟第一個比較不同的是,它不需要判斷式。只要有單純的foreach就行

我要發表回答

立即登入回答