2009-07-03 5 views
0

UserDetailsService 인터페이스의 자체 구현을 사용하여 데이터베이스에서 User 개체를로드하고이를 UserDetail으로 배치하여 SecurityContext에 배치합니다. User 객체는 분리 된 Hibernate 객체이다.스프링 보안 UserDetails 모범 사례

인증 된 사용자의 게으른로드 관계에 액세스하려면 SecurityContext에서 가져와 ID 또는 병합을 통해로드하여 Hibernate 세션에 다시 연결해야합니다.

일반적으로 스프링 MVC 또는 스프링 WS 애플리케이션에서 그렇게 할 수 있습니까? 컨트롤러에 UserDAO를 삽입해야하거나 ID를 서비스 레이어에 전달하여 거기에로드해야합니까?

답변

3

컨트롤러에 속한 것은 없습니다. 서비스 계층에 넣으십시오.

컨트롤러는 실제로보기의 일부입니다. 뷰 기술을 변경하는 경우 서비스의 올바른 작동을 변경해서는 안됩니다. 거기에 놓고 서비스에 컨트롤러를 삽입하십시오.

DAO는 동일한 이유로 Controllers에 속하지 않습니다.