Skip to content
Snippets Groups Projects
Commit b2842c20 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Correction de bug si on utilise un IdentityProvider spécifique.

Nouvelle config par défaut
parent fa2d34ad
No related branches found
No related tags found
No related merge requests found
...@@ -18,9 +18,11 @@ $settings = [ ...@@ -18,9 +18,11 @@ $settings = [
*/ */
'enable_registration' => false, 'enable_registration' => false,
'enable_privileges' => true,
]; ];
return [ $config = [
'unicaen-auth' => $settings, 'unicaen-auth' => $settings,
'bjyauthorize' => [ 'bjyauthorize' => [
/* this module uses a meta-role that inherits from any roles that should /* this module uses a meta-role that inherits from any roles that should
...@@ -50,6 +52,15 @@ return [ ...@@ -50,6 +52,15 @@ return [
*/ */
'UnicaenAuth\Provider\Role\Username' => [], 'UnicaenAuth\Provider\Role\Username' => [],
], ],
],
'zfcuser' => [
$k = 'enable_registration' => isset($settings[$k]) ? $settings[$k] : false,
],
];
if ($settings['enable_privileges']) {
$privileges = [
'bjyauthorize' => [
'resource_providers' => [ 'resource_providers' => [
/** /**
...@@ -59,42 +70,43 @@ return [ ...@@ -59,42 +70,43 @@ return [
'UnicaenAuth\Service\Privilege' => [], 'UnicaenAuth\Service\Privilege' => [],
], ],
'rule_providers' => [
'UnicaenAuth\Provider\Rule\PrivilegeRuleProvider' => [],
],
'guards' => [ 'guards' => [
'UnicaenAuth\Guard\PrivilegeController' => [ 'UnicaenAuth\Guard\PrivilegeController' => [
[ [
'controller' => 'UnicaenAuth\Controller\Droits', 'controller' => 'UnicaenAuth\Controller\Droits',
'action' => ['index'], 'action' => ['index'],
'privileges' => [ 'privileges' => [
Privileges::DROIT_ROLE_VISUALISATION, \UnicaenAuth\Provider\Privilege\Privileges::DROIT_ROLE_VISUALISATION,
Privileges::DROIT_PRIVILEGE_VISUALISATION, \UnicaenAuth\Provider\Privilege\Privileges::DROIT_PRIVILEGE_VISUALISATION,
], ],
], ],
[ [
'controller' => 'UnicaenAuth\Controller\Droits', 'controller' => 'UnicaenAuth\Controller\Droits',
'action' => ['roles'], 'action' => ['roles'],
'privileges' => [Privileges::DROIT_ROLE_VISUALISATION], 'privileges' => [\UnicaenAuth\Provider\Privilege\Privileges::DROIT_ROLE_VISUALISATION],
], ],
[ [
'controller' => 'UnicaenAuth\Controller\Droits', 'controller' => 'UnicaenAuth\Controller\Droits',
'action' => ['privileges'], 'action' => ['privileges'],
'privileges' => [Privileges::DROIT_PRIVILEGE_VISUALISATION], 'privileges' => [\UnicaenAuth\Provider\Privilege\Privileges::DROIT_PRIVILEGE_VISUALISATION],
], ],
[ [
'controller' => 'UnicaenAuth\Controller\Droits', 'controller' => 'UnicaenAuth\Controller\Droits',
'action' => ['role-edition', 'role-suppression'], 'action' => ['role-edition', 'role-suppression'],
'privileges' => [Privileges::DROIT_ROLE_EDITION], 'privileges' => [\UnicaenAuth\Provider\Privilege\Privileges::DROIT_ROLE_EDITION],
], ],
[ [
'controller' => 'UnicaenAuth\Controller\Droits', 'controller' => 'UnicaenAuth\Controller\Droits',
'action' => ['privileges-modifier'], 'action' => ['privileges-modifier'],
'privileges' => [Privileges::DROIT_PRIVILEGE_EDITION], 'privileges' => [\UnicaenAuth\Provider\Privilege\Privileges::DROIT_PRIVILEGE_EDITION],
], ],
], ],
], ],
], ],
'zfcuser' => [
$k = 'enable_registration' => isset($settings[$k]) ? $settings[$k] : false,
],
'navigation' => [ 'navigation' => [
// The DefaultNavigationFactory we configured uses 'default' as the sitemap key // The DefaultNavigationFactory we configured uses 'default' as the sitemap key
'default' => [ 'default' => [
...@@ -128,3 +140,8 @@ return [ ...@@ -128,3 +140,8 @@ return [
], ],
], ],
]; ];
} else {
$privileges = [];
}
return array_merge_recursive($config, $privileges);
\ No newline at end of file
...@@ -4,6 +4,7 @@ namespace UnicaenAuth\Service; ...@@ -4,6 +4,7 @@ namespace UnicaenAuth\Service;
use UnicaenApp\Exception\RuntimeException; use UnicaenApp\Exception\RuntimeException;
use UnicaenApp\Traits\SessionContainerTrait; use UnicaenApp\Traits\SessionContainerTrait;
use UnicaenAuth\Provider\Identity\Chain;
use Zend\Session\Container as SessionContainer; use Zend\Session\Container as SessionContainer;
use Zend\Permissions\Acl\Role\RoleInterface; use Zend\Permissions\Acl\Role\RoleInterface;
use ZfcUser\Entity\UserInterface; use ZfcUser\Entity\UserInterface;
...@@ -95,7 +96,11 @@ class UserContext extends AbstractService ...@@ -95,7 +96,11 @@ class UserContext extends AbstractService
{ {
if (null === $this->identityRoles) { if (null === $this->identityRoles) {
$identityProvider = $this->getIdentityProvider(); $identityProvider = $this->getIdentityProvider();
if ($identityProvider instanceof Chain){
$this->identityRoles = $identityProvider->getAllIdentityRoles(); $this->identityRoles = $identityProvider->getAllIdentityRoles();
}else{
$this->identityRoles = $identityProvider->getIdentityRoles();
}
} }
return $this->identityRoles; return $this->identityRoles;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment