如何通过为其分配角色来防止未经授权的用户执行特定操作?

时间:2013-12-09 16:24:24

标签: php yii rbac rights

我正在开发Yii php框架的Web应用程序。在这个应用程序中,我使用Right模块进行角色管理。我定义了一些角色并为它们分配了适当的操作和任务。我是通过Right模块UI完成的,最后当每个用户填写注册表单时,分配给它的角色正确,所以对于登录用户,一切正常。

问题出在访客和未经授权的用户身上。我将main.php配置文件中的默认角色仅设置为“Guest”,并使用Right模块UI设置“Guest”角色的操作,但Guest用户可以执行其他不允许的操作! 我怎样才能为来宾用户做这件事?


在此先感谢

2 个答案:

答案 0 :(得分:0)

我建议您使用自己的UserIdentity类...

这很简单!

答案 1 :(得分:-1)

你可以这样做

array('allow', 
            'actions'=>array('update'),
            'expression'=>Yii::app()->user->uType = 'mydefinedtype',
));

这可以在useridentity.php

中完成登录操作时设置
$this->setState('utype', $user->UTtype->typename);