2011-08-16 3 views
2

내 경우에 일부 사용자는 특정 IP 주소 (각 사용자마다 하나씩)에서만 로그인 할 수 있습니다.Symfony2의 IP 주소에 따라 사용자 인증 요청을 거부하는 방법

사용자의 IP 주소가 데이터베이스의 ip와 일치하지 않으면 사용자의 모든 인증 요청을 거부해야합니다.

class User implements AdvancedUserInterface 
{ 
    // .... 
    protected $id; 

    // .... 
    protected $allowedIp; 
} 

이 검사는 인증 단계에서 수행해야합니다 : 들어

는 지금이 사용자 개체가 있습니다.

답변

3

인증 유권자를 사용하는 것이 좋습니다. Symfony 요리 책에는 IP blacklist voter에 대한 처방이 있습니다. 그렇다면 그 예를 따르고 거부하는 대신에 이 아니라면 거부하기 위해 코드를 변경하여을 목록에 추가 할 수 있습니다.

+0

투표자가 실제로 권한 부여 계층에서 작동하지만 지금은 더 나은 해결책이 없다고 생각합니다. ( – dmirkitanov

관련 문제