Я разрабатываю приложение Yii, которое использует несколько модулей, включая модуль прав для контроля доступа. Все они находятся в одной и той же папке «modules» и настроены в том же файле config/main.php. И приложение имеет только один скрипт ввода.Права модули используют другой экземпляр приложения
Однако я заметил, что модуль Rights использует другой сеанс приложения, а все остальные модули используют другой сеанс приложения. По этой причине сеанс пользователя не используется совместно с правами.
Неужели кто-нибудь сталкивается с такой проблемой с помощью модулей yii? пожалуйста помоги. Благодаря!
мой конфигурационный файл:
'rights'=>array(
'debug' => true,
'superuserName' => 'Super Administrator', // Name of the role with super user privileges.
'authenticatedName' => 'Customer', // Name of the authenticated user role.
'userIdColumn' => 'id', // Name of the user id column in the database.
'userNameColumn' => 'username', // Name of the user name column in the database.
'enableBizRule' => true, // Whether to enable authorization item business rules.
'enableBizRuleData' => true, // Whether to enable data for business rules.
'displayDescription' => false, // Whether to use item description instead of name.
'flashSuccessKey' => 'success', // Key to use for setting success flash messages.
'flashErrorKey' => 'error', // Key to use for setting error flash messages.
//'baseUrl' =>'/rights', // Base URL for Rights. Change if module is nested.
//'layout' => 'rights.views.layouts.main', // Layout to use for displaying Rights.
//'appLayout' => 'application.views.layouts.main', // Application layout.
//'cssFile' => 'rights.css', // Style sheet file to use for Rights.
'install' => false, // Whether to enable installer.
),
Должна быть некоторая проблема с кодом. можете ли вы вставить код, чтобы я мог судить? но я думаю, что разные сессии не проблема, потому что, по моему пониманию, это невозможно. –
Я думаю, что более вероятно, что модуль прав не был создан при попытке получить к нему доступ ... если, например, в правилах доступа к контроллеру вы ссылаетесь на пользовательский модуль, вам нужно убедиться, что модуль имеет были связаны с UserIdentity сначала ... – ChrisB
привет, ребята, спасибо за комментарии. Я обновил вопрос с помощью моих данных конфигурации. модуль прав также включен как любой другой модуль в системе. Настолько странно, что права используют совершенно другой экземпляр приложения, а все остальные модули используют обычный экземпляр приложения. Я подтвердил это, проверив идентификатор приложения (Yii :: app() -> id) – nterms