저는 여러 가지 방법으로 컨트롤러를 보유하고 있으며 각 방법의 시작시 특정 권한 확인을 추가해야합니다. 그래서, 같은 생성자에서이 검사를 넣어라우트 생성자 리디렉션이 작동하지 않습니다.
class AdminController extends BaseController {
public function __construct() {
$this->isAuthorized();
}
protected $layout = "layouts.main";
private function isAuthorized() {
if (!Session::get('userId')) {
echo "inside check"; // checking for debug purpose
return Redirect::to('login');
}
}
/**
* Admin dashboard view after authentication.
*/
public function getDashboard() {
$this->layout->content = View::make('admin.dashboard');
}
}
그것은 작동하지 않는 생각, 그냥 세션 내부의 메시지를 확인하고 로그인 페이지로 다시 리디렉션보다 대시 보드 페이지를 오히려로드 인쇄합니다. 나는 또한 이런 식으로 뭔가를 시도
,
public function getDashboard() {
$this->isAuthorized();
$this->layout->content = View::make('admin.dashboard');
}
나는이 이상한 return 문에이 메소드를 호출하려고
은, 그것은 내가 here에서 그 아이디어를 얻을public function getDashboard() {
return $this->isAuthorized();
$this->layout->content = View::make('admin.dashboard');
}
작동합니다. 어떻게 생성자 메서드를 사용하여이 작업을 수행 할 수 있습니까? 어떤 도움이라도 대단히 감사합니다.
왜 경로 필터를 사용하지 않습니까? 그것이 그들이하도록 설계된 것입니다. – Joe
브라우저에 헤더를 보내기 전에 내용을 인쇄 할 수 없습니다 (이 경우 리디렉션 지시문). 'echo'를 제거하면 아마 작동 할 것입니다. – silkfire
방금 검사 한 내용이 있는지 확인하기 위해 echoed했습니다. echo를 제거해도 작동하지 않습니다. –