2012-08-06 5 views
2

Symfony와 PHP (이전에 C++, Java로 작업)에 익숙하지 않아 사용자 로그인 및 로그 아웃 작업을 데이터베이스에 기록하는 방법에 대한 해결책을 찾을 수 없습니다. (userId를 통해) 조치를 취symfony2 : 사용자 로그인 활동

  • 사용자,
  • 동작 설명 (로그인 또는 로그 아웃),
  • 현재 타임 스탬프 : 나는 그 특정 정보를 원한다.

나는 가능한 가장 간단한 해결책을 찾고 있습니다. 나는 사용자 로그인 양식을 렌더링하는 기능을 수정하여 사용자 로그인 정보를 성공적으로 기록했지만, 로그 아웃과 관련하여 비참하게 실패했습니다. 나는 그것이 결국 끔찍한 생각 인 것을 안다. 그러나 나는 더 좋은 것을 생각해 낼 수 없었다. 어떤 제안? 미리 감사드립니다.

답변

1

모양이 here 인 경우 데이터베이스에 항목을 기록하는 데 사용하는 성공 처리기와 실패 처리기를 정의 할 수 있다고 나와 있습니다. reference documentation에 정의 된 처리기 매개 변수를 찾을 수도 있습니다.

로그인

먼저 매개 변수로 security.context 및 위해 entityManager이야 얻고 로그인하는 사용자가 결정하는 데 모두 사용하는 서비스를 만들 것

가.이 서비스는 다음 success_handler 매개 변수에 추가 및 그 이후라고 사용자가 로그인.

로그 아웃

난 당신을 C security.context 더 이상 사용자에 대한 정보가없는 것을 가정하는 것처럼 내가 더 까다 추측이 하나 주석을 달아 어떤 사용자가 로그 아웃했는지 확인하십시오. handlers 매개 변수가 실제로 무엇인지 조사하고 싶을 수 있습니다. 로그 아웃을 처리하는 동안 호출되는 핸들러 일 수 있으므로 사용할 수 있습니다. 물론 성공한 핸들러가 없으면 로그 아웃이 성공했는지 확인할 수 없으므로 실패한 일부 로그 아웃을 로그 할 수 있습니다. 다른 한편으로 어쩌면 당신은 어딘가에서 세션 ID를 얻을 수 있으며 (아마도 security.context 어쩌면) 이것을 대신 기록 할 수 있습니다.

관련 문제