2017-12-18 226 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撤销角色,任务或操作,如你所愿。