2013-11-22 2 views
1

Java 웹 서비스 작업에서 사용자 및 비밀번호 값의 유효성을 검사하고 싶습니다. 자격 증명은 데이터베이스에 있어야하지만이 레이어에 여러 번 호출하지 않으려면 캐시가 있어야합니다. 필터 (http://viralpatel.net/blogs/tutorial-java-servlet-filter-example-using-eclipse-apache-tomcat/)를 사용하고이 필터를 끝점으로 사용되는 서블릿에 매핑하려고했지만 내 끝점의 모든 작업에서이 필터를 사용해야합니다. 하나의 작업을 인증하지 않으면 어떻게됩니까?JAX-WS 웹 서비스에서 자격 증명 유효성 검사

<auth-constraint> 
    <role-name>SomeName</role-name> 
</auth-constraint> 

I 응용 프로그램 서버에 추가 할 수있는 역할을하지만 사용자를 사용하여 인증 내가 돈 수 '

나는 http://docs.oracle.com/cd/E19226-01/820-7627/bnccv/index.html의 예에서 다음 web.xml을에 사용되는 것으로 나타났습니다 그걸 원해.

어떤 옵션이 가장 좋습니까?

감사

답변

0

하나의 옵션을 사용하면 사용자 이름과 비밀번호와 같은 매개 변수를 보낼 수 있습니다 HTTP 헤더를 사용하고 있습니다. webservicecontext를 사용하여 HTTP_REQUEST_HEADERS에 액세스 할 수 있습니다.

@Resource 
WebServiceContext wsctx; 

@Override 
public String callOperation() { 

MessageContext mctx = wsctx.getMessageContext(); 

//get detail from request headers 
    Map http_headers = (Map) mctx.get(MessageContext.HTTP_REQUEST_HEADERS); 
    List userList = (List) http_headers.get("Username"); 
    List passList = (List) http_headers.get("Password"); 


    String username = ""; 
    String password = ""; 
    // do whatever you want with user and password 

다른 사람에게 도움이 되었기를 바랍니다.

관련 문제