1 回答
TA貢獻1856條經(jīng)驗 獲得超17個贊
通常對自己的數(shù)據(jù)進行編輯、刪除是不需要進行權(quán)限管理的。因為一般來說網(wǎng)站是劃分前后臺的,普通用戶在前臺操作時幾乎不用考慮權(quán)限問題,是誰的誰就能管理。
詳細解釋起來很麻煩,你先思考一下,我覺得你主要是陷入誤區(qū)了。
我這樣解釋一下:
已 “編輯主題” 和 “編輯我的主題” 為例 用真值表的方式模擬如下:
有 編輯主題 權(quán)限 , 有 “編輯我的主題” 權(quán)限: T
有 編輯主題 權(quán)限 , 無 “編輯我的主題” 權(quán)限: T
無 編輯主題 權(quán)限 , 有 “編輯我的主題” 權(quán)限: 做isAuth檢查并返回 isAuth檢查結(jié)果
無 編輯主題 權(quán)限 , 無 “編輯我的主題” 權(quán)限: F
那么現(xiàn)在取消 編輯我的主題 權(quán)限設(shè)置,用isAuth檢查代替,真值表為相同結(jié)果:
有 編輯主題 權(quán)限 , isAuth = T: T
有 編輯主題 權(quán)限 , isAuth = F: T
無 編輯主題 權(quán)限 , isAuth = T: T
無 編輯主題 權(quán)限 , 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 關(guān)注
- 845 瀏覽
添加回答
舉報
