Exemple #1
0
 public function isAuthorized(Request $request)
 {
     $uri = $request->getUri();
     foreach ($this->rules as $rule) {
         $regex = '#' . $rule->getPath() . '#';
         if (preg_match($regex, $uri)) {
             if ($rule->hasRole('ANONYMOUS')) {
                 return true;
             }
             $authInfo = $this->authenticator->getAuthInfo();
             if ($authInfo['authenticated']) {
                 if ($rule->hasRole('IS_AUTHENTICATED')) {
                     return true;
                 }
                 foreach ($authInfo['roles'] as $role) {
                     if ($rule->hasRole($role)) {
                         return true;
                     }
                 }
             }
         }
     }
     return false;
 }