2012-06-04 1 views
4

Java Spring 3에서 실행되는 애플리케이션이 있습니다. 내 애플리케이션은 보안을 위해 RESTful 서비스와 Spring Security를 ​​사용합니다. 사용자 테이블을 가지고 있으며 사용자 테이블을 확인합니다. 내 응용 프로그램에 웹 서비스 기능을 구현했습니다 (RESTful 서비스 대신 고객이 원하는 웹 서비스 중 하나임). 가능한 경우 동일한 인증 메커니즘을 원하고 해당 데이터베이스를 조회하여 한 명의 사용자 만 (현재는 관리자) 웹 서비스 서버와 통신 할 수 있습니다.Spring과 Apache CXF로 Java 웹 서비스 보안 구현하기

내 RESTful 인증과 같은 방식으로 수행해야 하는가, 아니면 Spring에서 Java Web Services에 대한 인증 및 보안 메커니즘이 있어야 하는가? (예 : 로그 아웃을 다루는 방법, 클라이언트 - 서버 웹 서비스 통신을위한 로그 아웃 메커니즘 사용법)

PS : 저는 Apache-CXF를 사용합니다.

답변

2

두 가지 잠재적 인 방법 :

  1. 이 CXF 서블릿의 앞에 BasicAuthenticationFilter or DigestAuthenticationFilter을 넣습니다.

  2. CXF Use a WS-Security UsernamePasswordToken와 함께)를 UsernamePasswordAuthenticationToken을 만드는 CallbackHandler를 물품은 b) authenticationManager.authenticate()를 호출하고 c) SecurityContextHolder에의 인증을 저장한다.

로그인 세션은 일반적으로 쿠키로 구현되고 위의 내용은 상태 비 저장 방식이므로 로그 아웃의 개념은 다루지 않습니다. 로그 아웃이 정말로 필요한 경우 액세스 토큰을 무효화하여 로그 아웃을 구현할 수 있기 때문에 OAuth 사용을 고려해야합니다.

0

REST가 전송하는 HTTP 헤더에 보안 토큰을 넣으면 REST가이를 해독하여 관리 위치에서 전송되는지 확인합니다.