사용자 로그인 후에 함수를 호출 할 수 있는지 궁금합니다.사용자 로그인 후 메서드 호출
$point = $this->container->get('process_points');
$point->ProcessPoints(1 , $this->container);
사용자 로그인 후에 함수를 호출 할 수 있는지 궁금합니다.사용자 로그인 후 메서드 호출
$point = $this->container->get('process_points');
$point->ProcessPoints(1 , $this->container);
당신은 FOSUserEvents class에서 화재가 FOSUserBundle 이벤트를 찾을 수 있습니다 여기에
내가 전화 할 코드입니다./**
* The SECURITY_IMPLICIT_LOGIN event occurs when the user is logged in programmatically.
*
* This event allows you to access the response which will be sent.
* The event listener method receives a FOS\UserBundle\Event\UserEvent instance.
*/
const SECURITY_IMPLICIT_LOGIN = 'fos_user.security.implicit_login';
해당 이벤트에 접선에 대한 문서가 Hooking into the controllers 문서 페이지에서 찾을 수 있습니다 : 더 구체적으로, 이것은 당신이 찾고있는 일이다. 귀하의 경우에는 다음과 같이 구현해야합니다 :
그런 다음 수신기로 서비스를 정의하고 컨테이너를 주입해야합니다. 또는 전체 컨테이너가 아닌 필요한 서비스 만 주입 할 수도 있습니다.
services:
acme_user.login:
class: Acme\UserBundle\EventListener\LoginListener
arguments: [@container]
tags:
- { name: kernel.event_subscriber }
는 overriding the controller을 포함하는 또 다른 방법이있다, 그러나 문서에 언급 한 바와 같이 정확히 깨끗하지 그리고 FOSUserBundle 변경 (시, 또는 오히려) 경우 휴식을 결합, 그래서 당신은 자신의 코드를 복제해야합니다.
고마워, 정말로 고마워. 나는 이것을 혼자서 알아 내지 못했을거야! –
"자동 로그인"을들을 수있는 방법이 있습니까? 사용자가 로그인을 클릭 할 때만 듣는 것이 아닙니다. 예 : 사용자가 (나를 기억하고) 로그인하고 다음에 그가 이미 로그인 할 수있는 페이지를 방문 할 때 다음을 기다리지 만 이것을 듣고 싶습니다. 저는 컨트롤러를 청취하고 사용자가 보안 컨텍스트에 있는지 확인하지만 symfony의 "보안"부분에서 어떤 것을 듣고 싶습니다. – EnchanterIO
단순히 쿠키를 사용하여 사용자를 인증하기 때문에 실제 로그인이 일어나지 않기 때문에 아니오. –
GitHub가 현재 다운되었으므로 완전한 대답을 제공 할 수는 없지만이를 수행하는 방법은 로그인을 담당하는 FOSUserBundle 컨트롤러를 재정의하는 것입니다. –