Yii Framework - 权限扩展似乎无法正常工作
Yii Framework - Rights extension doesnt seem to work properly
我是 Yii 1 框架的新手,我正在尝试在项目中使用权限扩展 (http://www.yiiframework.com/extension/rights/)(必须使用权限扩展这个项目是因为其他项目内置使用它)。
我正确设置了 Right,它正在 localhost/site?r=rights
我有所有必要的表格:
授权,
authitem,
authitemchild,
权利,
user with (id, username, password) 我可以在其中添加管理员(超级用户)和另一个用户。
=====>
那么,我的问题是什么?
<=====
一旦我根据我的模型生成了权限:
并分配 权限 我的 AnotherUser 可能拥有:
似乎什么都没发生,因为我的AnotherUser可以访问所有其他方法,例如User.Delete和User.Update.
我仅通过 权限界面管理用户访问权限。
代码里也有设置吗?
我试图从 RController扩展 我所有的 控制器。 (权利扩展的控制器)
我在过滤器中添加了 'rights':
/**
* @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('*'),
),
);
}
如果你能在这方面帮助我,先谢谢你!!!
我想出了如何部分解决我自己的问题:
- 生成您想要的所有权限:
为控制器操作生成项目
它会显示在操作中。 (列表、查看、创建、更新、删除、管理)
- 创建 任务 从操作中添加子项
- 创建角色 从任务中添加孩子。
- 将角色、任务或操作分配给用户。
根据需要分配和撤销角色、任务或操作。
我是 Yii 1 框架的新手,我正在尝试在项目中使用权限扩展 (http://www.yiiframework.com/extension/rights/)(必须使用权限扩展这个项目是因为其他项目内置使用它)。
我正确设置了 Right,它正在 localhost/site?r=rights
我有所有必要的表格:
授权,
authitem,
authitemchild,
权利,
user with (id, username, password) 我可以在其中添加管理员(超级用户)和另一个用户。
=====> 那么,我的问题是什么? <=====
一旦我根据我的模型生成了权限:
并分配 权限 我的 AnotherUser 可能拥有:
似乎什么都没发生,因为我的AnotherUser可以访问所有其他方法,例如User.Delete和User.Update.
我仅通过 权限界面管理用户访问权限。
代码里也有设置吗?
我试图从 RController扩展 我所有的 控制器。 (权利扩展的控制器)
我在过滤器中添加了 'rights':
/**
* @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('*'),
),
);
}
如果你能在这方面帮助我,先谢谢你!!!
我想出了如何部分解决我自己的问题:
- 生成您想要的所有权限:
为控制器操作生成项目
它会显示在操作中。 (列表、查看、创建、更新、删除、管理)
- 创建 任务 从操作中添加子项
- 创建角色 从任务中添加孩子。
- 将角色、任务或操作分配给用户。
根据需要分配和撤销角色、任务或操作。