Права Yii не влияют на Пользователя, почему?

Я установил базовое скелетное приложение Yii с правами и расширениями пользователя. Права работают нормально, кроме пользователя. Я использую NetBeans 8.0.1.

Я поместил этот код в SiteController и UserController, как в инструкциях:

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

Я заметил странную вещь. Вот:

class SiteController extends Controller {

когда я перебирал слово Controller с помощью курсора мыши, удерживающего клавишу CTRL, во всплывающем окне NetBeans показывал, куда он указывает. Он указывал на контроллер в каталоге приложения. Это то, что я ожидал, и я думал, что это работает, потому что Controller расширяет RController и так далее.

Для UserController это не работало.

class UserController extends Controller {

Теперь, когда я перехожу слово Controller с помощью курсора мыши, удерживающего клавишу CTRL, во всплывающем окне NetBeans показывает, что он указывает на контроллер не в каталоге приложения, а на контроллер в фреймворк каталог. Я думал, что именно поэтому он не работает. Но так как я щелкнул по нему и перешел к этому файлу, NetBeans также показывает тот же Framework Controller для SiteController, но он все еще работает! Поэтому я не знаю сейчас, является ли это только ошибкой NetBeans или чем-то другим. Но не смотря ни на что, я забочусь только о том, чтобы права работали и для UserController.

Как я могу определить свой UserController для указания на контроллер в приложении, а не в рамках. Но, возможно, это указывает на правильное место, это просто NetBeans, что показывает это неправильно. Но если не в этом проблема, то чем?

ОБНОВИТЬ:

Я заметил одну вещь: где-то права работают на пользователя, например, когда я вижу это в адресной строке:

project/user/user/view/id/1

мне кажется, что это будет пользовательский модуль, затем пользовательский класс, действие и т. д.
Но когда это не работает, я вижу только:

project/user

это не использует класс пользователя? Или что здесь происходит? Какой контроллер используется? Никто?!

Большое спасибо!

2

Решение

Я понял это (наверное). В:

app/modules/user/controllers

Есть еще контроллеры, и я поставил

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

только в UserController, поэтому он работал только когда я звонил:

project/user/user/...

Теперь есть также DefaultController. Это используется, когда никакой другой контроллер не определен в маршруте. Я установил фильтры прав в DefaultController, и теперь он работает там же. Так что то, что NetBeans показывает как путь к Controller, вероятно, является лишь ошибкой, но я не уверен, я не настолько профессионален, чтобы принимать решение.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]