2014-10-12 4 views
0

내 방화벽에서 "security.yml"파일에 사용자가 로그인하지 않은 경우 리디렉션 작업을 수행하려고합니다. 그러나이 리디렉션은 로그인 양식으로 이동하지 않습니다. 나는 익명 사용자를 홈 페이지 (또는 홈 페이지 링크가있는 403 페이지)로 리디렉션하고 싶습니다.Symfony2 보안 방화벽 리디렉션

anonimous_users --go -> secured_page --redirect -> home_page

하지만 그래, 내가 어떻게 security.yml이 쓰기 할 수 있다면 나는 그것이 가능하다면 알고하지 않습니다.

제발 도와 주실 수 있습니까? 코드를 모른 채

답변

0

,이 기본 워크 플로우입니다 : 당신은 지역의 사용자가 액세스 특정 역할이 필요 ... 액세스 제어의 일종이 필요합니다

access_control: 
    - { path: ^/secret/, roles: ROLE_LOGGED_IN_USER } 

당신은 여러분의 필요에 그것을 조정할 수 있습니다. 지금까지 url/secret /에 액세스하면 사용자가 로그인 양식 아래 제공된 로그인 페이지로 이동합니다. 방화벽은 사용자가 명시 적으로 리디렉션된다는 것을 의미하지 않습니다. 방화벽은 귀하의 페이지에있는 일종의 감독 영역입니다. 역할에 대한 콘텐츠 차단은 access_control 이상 발생합니다.

는 여기에 읽기 : http://symfony.com/doc/current/book/security.html

0

는 그래, 난이 방법을보고했다. 하지만 그것은 두 개의 로그인 프로토 콜을 가지고 있기 때문에 발이 아닙니다. 로그인 양식 및 CAS. 따라서 access_controle을 사용하면 보안이 악의적 인 사용자를 로그인 양식 페이지로 리디렉션하고 CAS 사용자 인 경우 좋지 않습니다.

나는 보안 영역을 3 개 작성했습니다. 지역의 경우 고정 된 두 사람의 같은 맥락으로

admin_area: pattern: ^/admin context: riac_auth form_login: login_path: /home

: login_form에 대한 하나, CAS 하나, 그리고 마지막으로 그는 다음과 같이 내 홈 페이지로 리디렉션하는 거짓 login_form 내 관리자 페이지입니다 당신이 그들 중 하나에서 확인되면, 당신은 관리자 영역에 대한 로그인입니다.

지금은 2 개의 로그인 양식으로 시도했지만 작동 중입니다. 이제 BeSimpleSsoBundle을 사용해야합니다.