1 回答

TA貢獻1856條經驗 獲得超17個贊
通常對自己的數據進行編輯、刪除是不需要進行權限管理的。因為一般來說網站是劃分前后臺的,普通用戶在前臺操作時幾乎不用考慮權限問題,是誰的誰就能管理。
詳細解釋起來很麻煩,你先思考一下,我覺得你主要是陷入誤區了。
我這樣解釋一下:
已 “編輯主題” 和 “編輯我的主題” 為例 用真值表的方式模擬如下:
有 編輯主題 權限 , 有 “編輯我的主題” 權限: T
有 編輯主題 權限 , 無 “編輯我的主題” 權限: T
無 編輯主題 權限 , 有 “編輯我的主題” 權限: 做isAuth檢查并返回 isAuth檢查結果
無 編輯主題 權限 , 無 “編輯我的主題” 權限: F
那么現在取消 編輯我的主題 權限設置,用isAuth檢查代替,真值表為相同結果:
有 編輯主題 權限 , isAuth = T: T
有 編輯主題 權限 , isAuth = F: T
無 編輯主題 權限 , isAuth = T: T
無 編輯主題 權限 , isAuth = F: F
你肯定說了,有的地方就算是用戶通過 isAuth 檢查也不讓他用,此類操作不做isAuth檢查不就行了嗎?
class Controller {
protected $_allowIfIsAuth = false;
public function afterDispatch() {
if (! $user->hasPermission('permission_name')) {
if (! ($this->_allowIfIsAuth && $user->isAuth('auth_id'))) {
return false;
}
}
return true;
}
}
- 1 回答
- 0 關注
- 824 瀏覽
添加回答
舉報