Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Zf2 + zfcuser + bjuauthorize не работают роли
Zzepish  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 8 дней
Карма: 49




Таблицa "user_role" имеет такой вид:
id|role_id|is_default|parent_id
1 |guest | 0 | NULL
2 |user | 0 | NULL
3 |group| 0 | user
4 |admin| 0 | user

Конфиг:

<?php
return array(
'bjyauthorize' => array(

// set the 'guest' role as default (must be defined in a role provider)
'default_role' => 'guest',
//'authenticated_role' => 'user',
/* this module uses a meta-role that inherits from any roles that should
* be applied to the active user. the identity provider tells us which
* roles the "identity role" should inherit from.
*
* for ZfcUser, this will be your default identity provider
*/

'identity_provider' => //'BjyAuthorize\Provider\Identity\AuthenticationIdentityProvider',
'BjyAuthorize\Provider\Identity\ZfcUserZendDb',

/*
* If you only have a default role and an authenticated role, you can
* use the 'AuthenticationIdentityProvider' to allow/restrict access
* with the guards based on the state 'logged in' and 'not logged in'.
*
* 'default_role' => 'guest', // not authenticated
* 'authenticated_role' => 'user', // authenticated
* 'identity_provider' => 'BjyAuthorize\Provider\Identity\AuthenticationIdentityProvider',
*/

/*
* role providers simply provide a list of roles that should be inserted
* into the Zend\Acl instance. the module comes with two providers, one
* to specify roles in a config file and one to load roles using a
* Zend\Db adapter.
*/

'role_providers' => array(

/* here, 'guest' and 'user are defined as top-level roles, with
* 'admin' inheriting from user
*/

'BjyAuthorize\Provider\Role\Config' => [
'guest' => array(),
// 'user' => array('children' => array(
// 'admin' => array(),
// )),

],

// this will load roles from the user_role table in a database
// format: user_role(role_id(varchar), parent(varchar))

'BjyAuthorize\Provider\Role\ZendDb' => array(
'table' => 'user_role',
'role_id_field' => 'role_id',
'parent_role_field' => 'parent_id'
)
),

// this will load roles from the 'BjyAuthorize\Provider\Role\Doctrine'
// service
// 'BjyAuthorize\Provider\Role\Doctrine' => array(),

// resource providers provide a list of resources that will be tracked
// in the ACL. like roles, they can be hierarchical

'resource_providers' => array(
'BjyAuthorize\Provider\Resource\Config' => array()
)

// 'pants' => array(),

,

/* rules can be specified here with the format:
* array(roles (array), resource, [privilege (array|string), assertion])
* assertions will be loaded using the service manager and must implement
* Zend\Acl\Assertion\AssertionInterface.
* *if you use assertions, define them using the service manager!*
*/

'rule_providers' => array(
'BjyAuthorize\Provider\Rule\Config' => array(
// 'allow' => array(
// // allow guests and users (and admins, through inheritance)
// // the "wear" privilege on the resource "pants"
// // array(array('guest', 'user'), 'pants', 'wear')
// ),

// Don't mix allow/deny rules if you are using role inheritance.
// There are some weird bugs.

'deny' => array()
)
),


/* Currently, only controller and route guards exist
*
* Consider enabling either the controller or the route guard depending on your needs.
*/

'guards' => array(
'BjyAuthorize\Guard\Controller' => [
[

'controller' => [
'UserProfile\Controller\Index',
'UserProfileMod\Controller\Index',
'UserProfile\Controller\Index',
'ScnSocialAuth-User',
]
,

'action' => [
'index',
'userToCompany', // UserProfileMod\Controller\Index
'profileEdit', // UserProfile\Controller\Index
'showProfilePhoto', //'UserProfile\Controller\Index',
'logout', //'ScnSocialAuth-User',
'deleteProfilePhoto', // 'UserProfile\Controller\Index',
],
'roles' => ['user']
],
[

'controller' => 'UserProfile\Controller\Api',
'roles' => ['user']
],
[

'controller' => [
'Application\Controller\Index',
'ScnSocialAuth-User',
'zfcuser',
'Voodoo773Localization\Controller\Index',
'Acex\Controller\Service',
'Acex\Controller\Api'
]
,

'action' => [
'index', // 'Application\Controller\Index',
'login',
'register',
'provider-login',
'convert', // 'Acex\Controller\Service',
'getCity', // Acex\Controller\Api

] // UserProfile\Controller\Index
,
'roles' => ['guest']
],
[

'controller' => 'Company\Controller\Index',
'roles' => ['group', 'admin'],
]

],

/* If this guard is specified here (i.e. it is enabled), it will block
* access to all controllers and actions unless they are specified here.
* You may omit the 'action' index to allow access to the entire controller
*/
// 'BjyAuthorize\Guard\Controller' => array(
// ),

/* If this guard is specified here (i.e. it is enabled), it will block
* access to all routes unless they are specified here.
*/
// 'BjyAuthorize\Guard\Route' => array(
// // array('route' => 'zfcuser', 'roles' => array('user')),
// // array('route' => 'zfcuser/logout', 'roles' => array('user')),
// // array('route' => 'zfcuser/login', 'roles' => array('guest')),
// // array('route' => 'zfcuser/register', 'roles' => array('guest')),
// // // Below is the default index action used by the ZendSkeletonApplication
// // array('route' => 'home', 'roles' => array('guest', 'user')),
// ),

)
)
);


На странице:
Цитата

Fatal error: Uncaught exception 'Zend\Permissions\Acl\Exception\InvalidArgumentException' with message 'Role '3' not found' in C:\Users\Public\Server\htdocs\user\user_acex\vendor\zendframework\zendframework\library\Zend\Permissions\Acl\Role\Registry.php:106 Stack trace: #0 C:\Users\Public\Server\htdocs\user\user_acex\vendor\zendframework\zendframework\library\Zend\Permissions\Acl\Role\Registry.php(67): Zend\Permissions\Acl\Role\Registry->get('3') #1 C:\Users\Public\Server\htdocs\user\user_acex\vendor\zendframework\zendframework\library\Zend\Permissions\Acl\Acl.php(111): Zend\Permissions\Acl\Role\Registry->add(Object(Zend\Permissions\Acl\Role\GenericRole), Array) #2 C:\Users\Public\Server\htdocs\user\user_acex\vendor\bjyoungblood\bjy-authorize\src\BjyAuthorize\Service\Authorize.php(277): Zend\Permissions\Acl\Acl->addRole('bjyauthorize-id...', Array) #3 C:\Users\Public\Server\htdocs\user\user_acex\vendor\bjyoungblood\bjy-authorize\src\BjyAuthorize\Service\Authorize.php(90): BjyAuthorize\Service\Authorize->load() #4 C:\Users in C:\Users\Public\Server\htdocs\user\user_acex\vendor\zendframework\zendframework\library\Zend\Permissions\Acl\Role\Registry.php on line 69

Хотя если пользователь не авторизирован - все ок. Выдает, что я guest. Но, если я авторизируюсь, то выдает ошибку выше. Меняя только цифру роли


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 8 дней
Карма: 49




up


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25982
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 20 дней
Карма: 725

Не курю:
1 год, 2 месяца, 7 дней


The problem seems to be with the provided sql schema. In the user_role, change the role_id field to a VARCHAR. When making entries to this table, user_id should correspond to the user's numerical id, but the role_id should be the text id of the "roleId" field in the user_role table.

мутновато, ну хз хз.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 8 дней
Карма: 49




Игорь_Vasinsky
не прокатило! Но прокатил вот такой вариант:
есть таблица user_role_linker.
user_id|role_id .

role_id был каскадом на id в user_role. Надо было его перебросить на role_id.


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25982
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 20 дней
Карма: 725

Не курю:
1 год, 2 месяца, 7 дней


хм. в оригинале, в тексте, речь шла о user_role_linker, я отредактировал под твою))


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 8 дней
Карма: 49




Игорь_Vasinsky
да там вообще дичь)


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса