Yii SRBAC中的bizrule 應該如何使用 [ 1.1 版本 ]
已經安裝好srbac。現時有一個問題是:如果有一筆記錄是user001建立,那麼我想只能user001才可以更新或者刪除這一筆記錄,請問這個要如何實現,是不是要用bizrule,我試過在bizrule輸入 "return Yii::app()->user->id==$params["record"]->username;
" 系統就顯示 Error:403 '你無權運行'。網上查的很久,可是好像很少人有詳細的解答。如果不用bizrule,還有甚麼辦法嗎? 謝謝
最佳答案
-
- 先确认user表的id和$params["record"]->username是否相同
- 这是一个真实案例的代码片段,供参考:
//tasks --- about authorization //查看自己的注册信息 : 登录名和账号名对应才能看 $bizRule='return Yii::app()->user->id==$params["account"]->userID;'; $task=$auth->createTask('t_auth_own_view','view registration info by user himself',$bizRule); $task->addChild('o_auth_view'); //修改自己的注册信息基本部分 : 登录名和账号名对应才能更改 $bizRule='return Yii::app()->user->id==$params["account"]->userID;'; $task=$auth->createTask('t_auth_own_update','update base part of registration info by user himself',$bizRule); $task->addChild('o_auth_update_base'); //修改客户注册信息的其他信息 : 只有销售领导、销售员才能更改 $bizRule='return Yii::app()->user->id==$params["account"]->sellerID;'; $task=$auth->createTask('t_auth_update_customer_others','Bind a customer to a seller',$bizRule); $task->addChild('o_auth_update_customer_others');
其中't_'代表task,'o_'代表operation。
其他 0 个回答
没有找到数据。
wlkmf
注册时间:2013-12-11
最后登录:2020-10-06
在线时长:9小时57分
最后登录:2020-10-06
在线时长:9小时57分
- 粉丝0
- 金钱0
- 威望0
- 积分90