2017-12-18 471 views
0

我在是新的Yii 1框架,我試圖在一個項目中權限擴展(http://www.yiiframework.com/extension/rights/)工作(它是強制性的在這個項目中,因爲他人使用權限擴展使用它內置的項目)。Yii框架 - 權限擴展似乎沒有正常工作

我樹立正確​​的正確,它正在本地主機/網站R =權利

我擁有所有必要的表:

authassignment

authitem

authitemchild

權利

用戶(ID,用戶名,密碼)在那裏我可以添加一個管理員(超級用戶)和AnotherUser。

enter image description here

=====> 所以,我的問題是什麼? < =====

一次,我已經產生權限根據我模式

enter image description here

並指派其權限AnotherUser可以有:

enter image description here

似乎什麼都沒有發生過,因爲我AnotherUser可以訪問所有的其他方法,比如User.DeleteUser.Update

我只管理通過權限接口的用戶訪問。

在代碼中是否還有一個設置?

我試圖從RController延伸我所有的控制器。(即權利擴展以及控制器)

我加在過濾器上的「權利」:

/** 
    * @return array action filters 
    */ 
    public function filters() 
    { 
     return array(
      'accessControl', // perform access control for CRUD operations 
      'postOnly + delete', // we only allow deletion via POST request 
      'rights', 
     ); 
    } 

而且我沒有修改控制器:

 /** 
    * Specifies the access control rules. 
    * This method is used by the 'accessControl' filter. 
    * @return array access control rules 
    */ 
    public function accessRules() 
    { 
     return array(
      array('allow', // allow all users to perform 'index' and 'view' actions 
       'actions'=>array('index','view'), 
       'users'=>array('*'), 
      ), 
      array('allow', // allow authenticated user to perform 'create' and 'update' actions 
       'actions'=>array('create','update'), 
       'users'=>array('@'), 
      ), 
      array('allow', // allow admin user to perform 'admin' and 'delete' actions 
       'actions'=>array('admin','delete'), 
       'users'=>array('admin'), 
      ), 
      array('deny', // deny all users 
       'users'=>array('*'), 
      ), 
     ); 
    } 

預先感謝您如果你能幫助我這個!

回答

0

我想出如何以部分解決我自己的問題:

  1. 生成需要所有權限

生成控制器操作項目

它將顯示在操作中。 (列表,查看,創建,更新,刪除,管理員)

  • 創建任務從Operations添加童車
  • 創建角色從任務添加童車。
  • 向用戶分配角色,任務或操作
  • Assing撤銷角色,任務或操作,如你所願。