내가하고 싶어.Symfony2 : 로그인 후 이전 페이지로 리디렉션
사용자는 개인 페이지에 액세스하려고 시도합니다 (로그인해야 함). 액세스하려고하면 이전에 자격 증명을 작성해야하는 becaouse에 액세스 할 수 없습니다. 그는 그의 passowrd를 쓰고 시스템에 로그인합니다. 사용자가 액세스하려고 시도한 페이지로 자동으로 리디렉션됩니다.
$this->getRequest()->headers->get('referer');
그리고 난 항상 (.../login.php) 로그인의 주소를 얻기 :
나는 security.yml
use_referer: true
에 넣어 그리고 내 첫 번째 컨트롤러에서 나는 넣어 . 이 대신, 내가 예를 들어 구해야합니다 (.../다운로드/TEST.TXT)는
나는 또한 시도했다 :
$request->getSession()->get('_security.account.target_path');
하지만 난 널 얻을.
어떻게하면됩니까? 사전에
감사합니다! security.yml와
--- 편집 ---
firewalls:
frontend:
pattern: ^/*
anonymous: ~
simple-form:
authenticator: my_authenticator
check_path: login_check
login_path: login
use_referer: true
failure_path: login_error
logout:
path: logout
target:/
success_handler: my_authenticator
remember_me:
key: mykey
lifetime: 31536000
switch_user: { role: ROLE_ADMIN, parameter: _login_as }
access_control:
- { path: ^/web/login.php, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
- { path: ^/web/login_error.php, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
- { path: ^/*, roles: [ROLE_USUARIO, ROLE_RESELLER, ROLE_ADMIN], requires_channel: https }
당신이 당신의'security.yml'의'access_control' 부분을 추가 할 수 있습니다 :이 동작과 함께 "방화벽"을 설정하는 방법을
확인이를? –
예, 원래 게시물에 추가했습니다. 감사. – user3396420
인증 성공 후 사용자가 방화벽 뒤의 url *로 리디렉션하도록하려면 @colburton이 지적한대로 'use_referer'가 필요하지 않을 수 있습니다. 제거해보십시오. –