Yii权利不会影响用户,为什么?

问题描述:

我已经设置了基本的骷髅Yii应用程序,有权限和用户扩展。权利工作正常,用户除外。我正在使用NetBeans 8.0.1。Yii权利不会影响用户,为什么?

我已经把这个代码放到SiteController和UserController中作为说明:

public function filters() { 
    return array(
     'rights', 
    ); 
} 

我注意到一个奇怪的东西。在这里:

class SiteController extends Controller { 

我什么时候在用鼠标按住CTRL键字Controller,在弹出窗口中显示的NetBeans它被指向。它指向应用程序目录中的Controller。这是我的期望,我认为它的工作原理是因为Controller扩展了RController等等。

对于UserController,它不起作用。

class UserController extends Controller { 

现在,当我去了这个词,Controller用鼠标按住Ctrl键,在弹出窗口的NetBeans showes它指向控制器不是在应用程序目录,但该控制器在框架目录。我认为这是它不起作用的原因。但是,由于我点击了它,并跳到这个文件,NetBeans也显示了SiteController的框架控制器,但它仍然有效!所以我现在不知道它是否只是一个NetBeans错误或什么。但是无论如何,我只关心的是权限也适用于UserController。

如何定义我的UserController以指向应用程序中的Controller,而不是框架中的Controller。但也许它指向了正确的位置,这只是NetBeans显示错误的地方。但是,如果不是这个问题,比什么?

UPDATE:

我注意到一件事:某处权利适用于用户,例如当我看到这个在地址栏中输入:

project/user/user/view/id/1 

在我看来,因为这将是用户模块,然后用户类,动作等 但是当它不工作,我看到的只是:

project/user 

它不使用类用户吗?或者这里发生了什么?什么控制器正在使用?没有?!

非常感谢!

我已经想通了(我猜)。在:

app/modules/user/controllers 

有多个控制器,并且我已经把

public function filters() { 
    return array(
     'rights', 
    ); 
} 

只在UserController的,这就是为什么它的时候我打电话只是工作:

project/user/user/... 

现在也有DefaultController。这是在路由中没有定义其他控制器的情况下使用的。我也在DefaultController中放置了权限过滤器,现在它也在那里工作。因此,NetBeans显示为Controller的路径可能只是一个错误,但我不确定,我不是专业人士来决定的。