Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
lib
unicaen
auth
Commits
bbe93664
Commit
bbe93664
authored
Mar 07, 2016
by
Laurent Lécluse
Browse files
Correction de bug lorsqu'on veut utiliser des règles sans fixer de privilège
parent
26f0b32c
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/UnicaenAuth/Provider/Rule/PrivilegeRuleProvider.php
View file @
bbe93664
...
...
@@ -3,6 +3,8 @@
namespace
UnicaenAuth\Provider\Rule
;
use
BjyAuthorize\Provider\Rule\ProviderInterface
;
use
UnicaenAuth\Guard\PrivilegeController
;
use
UnicaenAuth\Provider\Privilege\Privileges
;
use
Zend\ServiceManager\ServiceLocatorInterface
;
use
Zend\ServiceManager\ServiceLocatorAwareTrait
;
use
UnicaenAuth\Provider\Privilege\PrivilegeProviderAwareTrait
;
...
...
@@ -42,16 +44,16 @@ class PrivilegeRuleProvider implements ProviderInterface
foreach
(
$config
as
$grant
=>
$rules
)
{
foreach
(
$rules
as
$index
=>
$rule
)
{
if
(
is_array
(
$rule
))
{
$privileges
=
(
array
)
$rule
[
'privileges'
];
$privileges
=
isset
(
$rule
[
'privileges'
])
?
(
array
)
$rule
[
'privileges'
]
:
[]
;
$ressources
=
$rule
[
'resources'
];
$assertion
=
isset
(
$rule
[
'assertion'
])
?
$rule
[
'assertion'
]
:
null
;
$bjyRoles
=
isset
(
$rule
[
'roles'
])
?
(
array
)
$rule
[
'roles'
]
:
[];
foreach
(
$pr
as
$privilege
=>
$roles
)
{
if
(
in_array
(
$privilege
,
$privileges
))
{
$bjyRoles
=
array_unique
(
array_merge
(
$bjyRoles
,
$roles
));
}
}
$bjyRule
=
[
$bjyRoles
,
$ressources
,
...
...
@@ -60,15 +62,18 @@ class PrivilegeRuleProvider implements ProviderInterface
if
(
$assertion
)
$bjyRule
[
3
]
=
$assertion
;
$config
[
$grant
][
$index
]
=
$bjyRule
;
}
}
}
// Mise en place des droits pour tester les privilèges en tant que ressources
$rules
=
$config
;
if
(
!
isset
(
$rules
[
'allow'
]))
$rules
[
'allow'
]
=
[];
foreach
(
$pr
as
$privilege
=>
$roles
)
{
$rules
[
empty
(
$roles
)
?
'deny'
:
'allow'
][]
=
[
$roles
,
'p
rivilege
/'
.
$privilege
,
P
rivilege
s
::
getResourceId
(
$privilege
)
,
];
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment