2015-05-15 17:49:42 3037次浏览 1条回答 0 悬赏 10 金钱

已經安裝好srbac。現時有一個問題是:如果有一筆記錄是user001建立,那麼我想只能user001才可以更新或者刪除這一筆記錄,請問這個要如何實現,是不是要用bizrule,我試過在bizrule輸入 "return Yii::app()->user->id==$params["record"]->username;" 系統就顯示 Error:403 '你無權運行'。網上查的很久,可是好像很少人有詳細的解答。如果不用bizrule,還有甚麼辦法嗎? 謝謝

最佳答案

  • 性感的农民 发布于 2015-05-19 08:39 举报
    • 先确认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。

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
wlkmf
职场新人

wlkmf

注册时间:2013-12-11
最后登录:2020-10-06
在线时长:9小时57分
  • 粉丝0
  • 金钱0
  • 威望0
  • 积分90

热门问题