Exemplo n.º 1
0
 /**
  * Checks rule controller and action against actual request
  * Also takes care of globs
  *
  * @param $ruleController
  * @param $ruleAction
  * @return bool
  */
 private function isRuleAMatchFor($ruleController, $ruleAction)
 {
     if (($ruleController === $this->requestParser->getControllerName() || $ruleController === '*') && ($ruleAction === $this->requestParser->getControllerMethod() || $ruleAction === '*')) {
         return true;
     }
     return false;
 }
Exemplo n.º 2
0
 private function denyRequest()
 {
     // Store return path to allow redirect after auth, ...
     \Session::put('laraguard_lastDenied', $this->request->decodedPath());
     \Session::put('laraguard_lastDeniedLifetime', $this->permissionParser->getDeniedUrlLifetime());
     // Redirect to permissionDenied method of controller
     if ($this->requestParser->hasControllerPermissionDeniedMethod()) {
         // Modify request action to direct to method 'permissionDenied'
         $action = $this->request->route()->getAction();
         $controllerPath = $this->requestParser->getControllerPath();
         $action['uses'] = $controllerPath . '@permissionDenied';
         $action['controller'] = $controllerPath . '@permissionDenied';
         // Set new action
         $this->request->route()->setAction($action);
         if ($this->permissionParser->debugging()) {
             \Log::info('[Laraguard] DENY - with permissionDenied(): ' . $action['uses']);
         }
         return \Route::dispatch($this->request);
     } else {
         if ($this->permissionParser->hasNoPermissionRoute()) {
             $noPermissionRoute = $this->permissionParser->getNoPermissionRoute();
             if ($this->permissionParser->debugging()) {
                 \Log::info('[Laraguard] DENY - with defaultNoPermissionRoute: ' . $noPermissionRoute);
             }
             return redirect($noPermissionRoute);
         } else {
             if ($this->permissionParser->debugging()) {
                 \Log::info('[Laraguard] DENY - with 501 Error');
             }
             return $this->returnError(['Permission denied']);
         }
     }
 }