Php Yii权利不';不影响用户,为什么?
我已经建立了基本的框架Yii应用程序,具有权限和用户扩展。除了用户权限外,权限工作正常。我正在使用NetBeans 8.0.1 我已按照说明将此代码放入SiteController和UserController中:Php Yii权利不';不影响用户,为什么?,php,netbeans,yii,rights,Php,Netbeans,Yii,Rights,我已经建立了基本的框架Yii应用程序,具有权限和用户扩展。除了用户权限外,权限工作正常。我正在使用NetBeans 8.0.1 我已按照说明将此代码放入SiteController和UserController中: public function filters() { return array( 'rights', ); } 我注意到一件奇怪的事。在这里: class SiteController extends Controller { 当我用鼠标光标按住
public function filters() {
return array(
'rights',
);
}
我注意到一件奇怪的事。在这里:
class SiteController extends Controller {
当我用鼠标光标按住CTRL键浏览单词Controller
时,在一个弹出窗口中,NetBeans显示了它指向的位置。它指向应用程序目录中的控制器。这正是我所期望的,我认为这是可行的,因为控制器扩展了RController等等
对于UserController,它不起作用
class UserController extends Controller {
现在,当我用鼠标光标按住CTRL键浏览单词Controller
时,在一个弹出窗口中,NetBeans显示它不是指向应用程序目录中的控制器,而是指向framework目录中的控制器。我想这就是它不起作用的原因。但是自从我点击它,跳转到这个文件,NetBeans也显示了相同的SiteController框架控制器,但它仍然工作!所以我现在不知道这只是一个NetBeans bug还是什么。但不管怎样,我唯一关心的是权限也适用于UserController
如何定义UserController以指向应用程序中的控制器,而不是框架中的控制器。但也许它指向了正确的地方,只是NetBeans错误地显示了它。但如果不是这样,问题出在哪里
更新:
我注意到一件事:在某个地方权限对用户有效,例如,当我在地址栏中看到这一点时:
project/user/user/view/id/1
在我看来,它将是用户模块,然后是用户类、操作等。
但当它不起作用时,我只看到:
project/user
它不是使用类用户吗?或者这里发生了什么?正在使用什么控制器?没有 我想我已经弄明白了。在:
有更多的控制器,我已经把
public function filters() {
return array(
'rights',
);
}
只有在UserController中,这就是为什么只有在我调用时它才起作用:
project/user/user/...
现在还有DefaultController。当路由中未定义其他控制器时,将使用此选项。我也在DefaultController中设置了权限过滤器,现在它也在那里工作。所以,NetBeans显示为控制器路径的内容可能只是一个bug,但我不确定,我没有那么专业来决定
project/user/user/...