我正在使用Yii的权限扩展,并收到以下错误:
There must be at least one superuser!我不知道这个superuser是什么意思,因为我使用的是用户admin和demo的默认身份验证。在阅读权限扩展的文档后,我尝试使用以下命令配置权限:
'rights'=>array(
'superuserName'=>'admin',
'install'=>true
),但是它不工作,我搜索了互联网,但没有结果。
发布于 2012-11-22 16:37:41
您需要将用户表与一个表数组连接起来,该表的名称已在AuthAssignment设置中声明
'modules'=>array(
'rights'=>array(
'superuserName'=>'admin',
),
),然后,您必须更改表user的userid字段,该字段引用表AuthAssignment上的字段id
发布于 2015-04-25 14:58:05
如果您已经安装了像here这样的用户和权限,只需在数据库中运行以下命令:
INSERT INTO `AuthAssignment` (`itemname`, `userid`, `bizrule`, `data`) VALUES ('Admin', '1', NULL, 'N');
INSERT INTO `AuthItem` (`name`, `type`, `description`, `bizrule`, `data`) VALUES ('Admin', 0, 'Admin', NULL, 'N;'); 注意:在本教程中,权限模块的所有表名均为小写。
发布于 2012-11-21 23:30:45
命名有点误导,我也偶然发现了这个问题。
superuserName应命名为superuserRole,这意味着分配到指定角色的所有用户都是超级用户。
请注意,对于超级用户,Yii::app()->user->checkAccess('whatever')将始终使用return true。
另请参阅
/**
* @property string the name of the superuser role.
*/
public $superuserName;和。
https://stackoverflow.com/questions/8501783
复制相似问题