对整个modules 权限控制问题?

如我有个modules 名叫admin 我希望这个admin 目录下,只有角色 admin可以访问,

怎么样简单设置呢?可以实现这样 的效果。而不是对每个controller设置。

这样设置后,比如,我需要对其中一个usercontroller.php 设置不但admin可以访问,test也可以, defaultcontroller.php 只有superadmin角色访问。

请问这样的访问规则怎么写?

或者怎么样可以解决这样的问题

谢谢

可以考虑在两个地方控制:一是在module的init()里通过程序控制,二是在BaseController里控制(其它的controller继承这个)。

这个问题基本解决了。。

非常感谢。。有一点疑问出来了。。

如 有个module 叫admin的,还有个叫user的。。

当访问admin时,没角色时跳到admin 下的index.php/admin/default /login ,

当访问user时,没角色时跳到user下的index.php/user/default /login ,

但 main.php中只能

‘user’=>array(
		&#039;loginUrl&#039;=&gt;array(&#039;site/login&#039;),</pre>

怎么样实现呢?这样不管是访问哪个module都跳到了 index.php/site/login

你可以考虑在module init里修改Yii::app()->user->loginUrl

Yii::app()->user->loginUrl = 'webstup/default/login';

我这样设置了,就打不开网页了。。。汗。。是不是我写的有什么地方不对的了?

Yii::app()->user->loginUrl = 'index.php/webstup/default/login';

这样就可以了,好像是不知道 我使用没使用路由哦。。。。。

如果是字符串的话,你应该提供完整的相对或绝对URL。

如果是数组的话,createUrl()将被调用使用该数组来创建URL。

哦。。明白了。。 太感谢了,又解决一个问题。。

薛大哥 这个baseController貌似不能自动注册 其他控制器继承它的话