/** * 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; }
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']); } } }