2014-07-09 7 views
0

내 웹 응용 프로그램에서 대부분의 메서드를 호출하기 전에 사용자가 로그온했는지 확인하고 싶습니다. 어떻게해야할지 모르겠다. 나는 Ruby On Rails에서 before_filter와 같은 것을 원한다. symfony2 문서에서 before 필터를 확인했지만 도움이되지 않습니다. 로그인에 대한 실제 사례가 필요합니다.symfony2에서 작업하기 전에

이것은 내가 확인한 링크입니다. http://symfony.com/doc/current/cookbook/event_dispatcher/before_after_filters.html

답변

1

Symfony에서 액세스 제어를 처리하는 데는 여러 가지 방법이 있습니다. 가장 기본적인 것은 URL 일치입니다./admin 및 그 뒤에 나오는 것과 같은 URL에 대한 액세스를 제한하려는 경우 편리합니다. 이것은 security.yml에서 구성됩니다.

http://symfony.com/doc/current/cookbook/security/securing_services.html

: 그것은 컨트롤러가 아닌 경우에도 모든 서비스를 확보 할 수있는 방법도

http://symfony.com/doc/current/book/security.html#access-control

있습니다 :

# app/config/security.yml 
security: 
    access_control: 
     - { path: ^/admin, roles: ROLE_ADMIN } 

이 페이지는 응용 프로그램을 보호하는 여러 가지 방법을 보여줍니다

+1

하지만 이미 ID가 이미 세션인지 확인할 수 있습니까? 다른 말로하면 : 사용자가 로그인 한 경우 액세스 허용, 그렇지 않으면 로그인 페이지로 리디렉션 – anyavacy

+1

사용자가 로그인 한 경우 ROLE_USER 역할 (로그인 한 사용자의 기본 역할)이 가능할 가능성이 높습니다. 액세스 제어 패턴에서 그 역할을 요구하십시오. 사용자에게 역할이 없다면 심포니는 리다이렉션을 처리 할 것입니다. – Jody

+1

나는 여전히 :이 리소스에 액세스하려면 전체 인증이 필요합니다. 세션 저장에 대해서는 신경 쓰지 않아도 될까요? 리다이렉션은? 로그인하지 않은 경우 사용자를 리디렉션하려고합니다. – anyavacy