FOSUserBundle을 통한 사용자 관리가 가능한 Symfony 3 응용 프로그램이 있습니다. 사용자의 "last_login"값을 확인하여 초기 사용자 로그인을 확인하는 Listener 클래스를 구현하려고합니다. article on event subscribers을 읽는 동안 나는 정확하게 last_login 값이 언제 업데이트되는지 알아 내려고 노력합니다. 그런 지식을 가진 사람이 있습니까? 아니면 누구나 사용자의 초기 로그인과 관련하여 더 나은 방법을 알고 있습니까?FOSUserBundle - 초기 로그인시 기능 수행
0
A
답변
1
방금 살펴 봤는데 eventSubscriber를 사용하여 SecurityEvents :: INTERACTIVE_LOGIN 이벤트에 가입하면 필요한 위치로 이동할 수 있습니다.
class RegistrationSubscriber implements EventSubscriberInterface
{
private $tokenStorage;
public function __construct(TokenStorage $tokenStorage)
{
$this->tokenStorage = $tokenStorage;
}
public static function getSubscribedEvents()
{
return [
SecurityEvents::INTERACTIVE_LOGIN => [
['lastLogin', 150],
],
];
}
public function lastLogin(InteractiveLoginEvent $event){
$user = $this->tokenStorage->getToken()->getUser();
if($user->getLastLogin() == null){
//Do something
}
}
첫 번째 로그인 $ user-> getLastLogin()에 대한 테스트에서 여기에 필요한 로직을 넣을 수 있습니다.
1
Symfony와 FOSUserBundle에는 이에 대한 이벤트가 있습니다. 심지어 FOSUserBundle는 해당 이벤트
/**
* @return array
*/
public static function getSubscribedEvents()
{
return array(
FOSUserEvents::SECURITY_IMPLICIT_LOGIN => 'onImplicitLogin',
SecurityEvents::INTERACTIVE_LOGIN => 'onSecurityInteractiveLogin',
);
}
당신이 그 이벤트를 구독하고 자신의 논리를 만들 수에 대한 이벤트 가입자가 있습니다. symfony에서 초기 로그인과 같은 티브이가 없으므로 스스로 관리해야합니다.
는 이벤트를 구독하고이 같은 시도 :public function onSecurityInteractiveLogin(InteractiveLoginEvent $event){
$user = $event->getAuthenticationToken()->getUser();
//some logic to check the user
if(!$user->getLastLogin()){
//its my first login!!! do what ever you want here
}else{
//I have already logged before so just pass
}
}
은 또한 당신이 FOSUserBundle 전에 이벤트를 잡으려고 그런 -10 일에 가입자 우선 순위를 변경해야 또는 당신은 항상 전달됩니다.
희망 하시겠습니까?
관련 문제
- 1. FOSUserBundle 로그인시 UserName을 정규화하는 방법은 무엇입니까?
- 2. Symfony가 사용자 로그인시 작업 수행
- 3. 초기 로그인시 ADS 암호를 변경하는 방법
- 4. 로그인 정보 기억 기능 로그인시
- 5. 초기 양식로드시 확인 수행
- 6. Symfony2 FOSUserBundle - 로그인시 "사용자 활성"플래그 유효성 확인
- 7. FOSUserBundle 로그인시 사용자 잠금 해제 : 변경 사항이 유지되지 않습니다.
- 8. AngularJS와 지시어 초기 호출 기능
- 9. "PLA로는이베이스를 만들 수 없습니다." 로그인시 PHPLDAPadmin 오류 (초기 항목)
- 10. HttpWebRequest.UserAgent : 기능 수행
- 11. onclick 버튼 기능 수행
- 12. 추가 후 기능 수행
- 13. DataTable의 집계 기능 수행
- 14. 양식 제출시 기능 수행
- 15. 특정 시간에 기능 수행
- 16. 서비스에서 onActivityResult 기능 수행
- 17. 어떻게 FOSUserBundle
- 18. BTN 그룹 - 열거 수행 초기 값 btnRadio,
- 19. 배포 : Capistrano 작업의 초기 수행 작업
- 20. SLAndroidSimpleBufferQueueItf에 대한 초기 콜백 강제 수행
- 21. FOSUserBundle - BadCredentialsException
- 22. 비밀번호없이 로그인 FOSUserBundle Symfony3
- 23. Scalatest 실패시 특수 기능 수행
- 24. 라디오 버튼 선택시 기능 수행
- 25. 열의 그룹에서 기능 수행 R
- 26. 셀러리 - 작업 수행 기능 호출
- 27. setDetailItem의 기능 : 수행 할 작업
- 28. AJAX 게시 기능 수행 GET
- 29. LISP 기능 동작을 수행 하시겠습니까?
- 30. 특정 시계 시간에 기능 수행
정확히 150은 무엇입니까? –
매력처럼 작동하지만, 고마워요! :) –
150가 내가 임의로 선택한 우선 순위입니다. –