Ich habe ein Problem mit Feuerstein, ich verstehe nicht, warum er mich nie zum Test ROLE zurückgibt. Mein aktueller Benutzer ist die eine Show mit $ username isGranted aber gibt mir nur FALSE zurück.Testing Rolle Silex
Haben Sie eine Idee?
$token = $app['security.token_storage']->getToken();
$user = $token->getUser();
echo $username = $user->getUsername(); // Good return !!
if ($app['security.authorization_checker']->isGranted('ROLE_USER'))
echo 'Never return also my user is ROLE_USER';
else
echo 'always return';
PS: Meine Benutzer ist durch Symfony erzeugen
Meine Firewall Silex:
$app->register(new Silex\Provider\SecurityServiceProvider(), array(
'security.firewalls' => array(
'main' => array(
'pattern' => '^/',
'guard' => array(
'authenticators' => array(
'api.token_authenticator'
),
),
'users' => function() use ($app) {
return new UserProvider($app['db']);
},
'anonymous' => true,
),
),
'security.role_hierarchy' => array(
'ROLE_USER' => array(),
'ROLE_ADMIN' => array('ROLE_USER'),
'ROLE_SUPER_ADMIN' => array('ROLE_USER','ROLE_ADMIN','ROLE_ALLOWED_TO_SWITCH'),
),
));
var_dump ($ user) Rückkehr:
object(Symfony\Component\Security\Core\User\User)#255 (7) {
["username":"Symfony\Component\Security\Core\User\User":private]=>
string(23) "[email protected]"
["password":"Symfony\Component\Security\Core\User\User":private]=>
string(60) "$2y$13$8sv57a29wd9Xg0gc0o0ckOP3.pN9g2ZOuAwaldRdrPOk.XA9Dp8m"
["enabled":"Symfony\Component\Security\Core\User\User":private]=>
bool(true)
["accountNonExpired":"Symfony\Component\Security\Core\User\User":private]=>
bool(true)
["credentialsNonExpired":"Symfony\Component\Security\Core\User\User":private]=>
bool(true)
["accountNonLocked":"Symfony\Component\Security\Core\User\User":private]=>
bool(true)
["roles":"Symfony\Component\Security\Core\User\User":private]=>
array(1) {
[0]=>
string(34) "a:1:{i:0;s:16:"ROLE_SUPER_ADMIN";}"
}
}
Dankten
Können Sie Ihre Firewall-Konfiguration und Ihre Zugriffsregeln teilen? – mTorres
Hallo! Ich bearbeite gerade meinen ersten Post – Corgato
Können Sie versuchen, einige [Zugriffsregeln] hinzuzufügen (http://silex.sensiolabs.org/doc/providers/security.html#defining-access-rules)? – mTorres