亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

對RBAC的提問

你好,老師。關于RBAC有兩個問題,需要請教一下你

  1. 你在視頻過程中,說,對于一個權限可以有多個URLS的問題

  2. 對于RBAC更好的表達,我覺得,如果有該權限,則顯示菜單或者按鈕,沒有則不顯示,如果強行訪問沒有權限的菜單,則再進行警告頁面提示。但是關于顯示的問題,不知道老師你是怎么解決的呢?我百思不得解

正在回答

4 回答

關于第二個問題,我給你講解一種我用的方法,你看看能否對你有點幫助,我們在BaseController中有個?checkPrivilege 方法,

假如我們有個業務 還是 客戶列表頁面, 在客戶列表有個添加按鈕(按鈕的鏈接指向是 /account/set),

這個時候我們如何來控制這個按鈕是否顯示?你在 對應controller的action 方法中 ?這么寫

$set_flag?=?$this->checkPrivilege(?"?/account/set"?);//判斷是否有?添加的權限

在view頁面,我們就?

<?php?if(?$set_flag):?>
添加按鈕
<?php?endif;?>


希望對你有所幫助 ,

0 回復 有任何疑惑可以回復我~
#1

Windcx 提問者

利用這個方法進行判斷是否有權限的話,如果一個顯示頁面有多個操作的話,就需要多個flag進行判斷了,是這個思路吧?
2017-02-19 回復 有任何疑惑可以回復我~
#2

編程浪子 回復 Windcx 提問者

是的。既然你問了,我相信你發現了一個問題,那就是如果一個頁面有很多操作的時候,是不是會多出很多個flag 變量,你可以想想如何讓很多歌flag變量看起來更優雅些
2017-02-19 回復 有任何疑惑可以回復我~
#3

Windcx 提問者 回復 編程浪子

使用一個以方法url為鍵值,初始值為0的url數組,然后判斷之后重新賦值為1或0,視圖再根據這些url的對應值去判斷是否顯示該權限。$url_arr = ['test/add'=>0,'test/edit'=>0,'test/delete'=>0]; 判斷用$url_arr[$key] = $this->checkPrivilege( $key ) ? 1 : $value;//判斷是否有 添加的權限
2017-02-20 回復 有任何疑惑可以回復我~

最后 我發現你是個非常喜歡思考的,希望你堅持這點,你思考的越多你思考問題會更深層次,這也是優秀研發必備的一種能力

0 回復 有任何疑惑可以回復我~
#1

Windcx 提問者

謝謝老師,多數情況下,一個需求也不是只有一個實現方式,所以多想想實現的可能性。但是性能優化上需要多學學才行
2017-02-19 回復 有任何疑惑可以回復我~
#2

編程浪子 回復 Windcx 提問者

性能問題 我建議可以從內部多了解一些函數的結構,并看一些算法書籍
2017-02-19 回復 有任何疑惑可以回復我~

關于第一個問題,我來給你一個舉例一個業務場景,有個權限叫做客戶列表,但是客戶列表中的有一部分數據顯示我們在客戶列表通過ajax去獲取的(例如客戶的消費總金額),那么如果只給權限配置一個 客戶列表的url,這時候 關于ajax請求的這部分數據就沒有權限,等于客戶列表的權限其實默認 就要關聯 ?ajax的這個url。

例如 客戶列表 url 是 ?/account/list, 而ajax獲取消費總金額的url 是 /account/money

那么配置的這個權限 就是 2個url一起配置,?/account/list 和?/account/money

其實當你給客戶配置某個頁面訪問權限的時候,可能這個頁面還有關聯功能,這樣就有了多個鏈接的問題



0 回復 有任何疑惑可以回復我~
#1

Windcx 提問者

老師的意思是,客戶列表的方法用list表示,然而顯示頁面中,數據顯示會涉及到其他方法的urls,這個時候,雖然同在客戶列表的頁面中,同一個權限名稱,但是必須是多個方法的url地址咯?
2017-02-19 回復 有任何疑惑可以回復我~
#2

編程浪子 回復 Windcx 提問者

是的,其實還有一些實例,例如一個人有添加客戶的權限,是不是就有查看這個客戶詳情的權限,這是一種權限打包的方法,就是當我有某個權限的時候,其實隱含的我就應該有某個其他權限,這種在業務也是非常常見的
2017-02-19 回復 有任何疑惑可以回復我~

浪子牛逼??!

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

對RBAC的提問

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號