@WebService
으로 게시 된 세션 빈을 사용하여 응용 프로그램 서버 도메인/보안 영역을 통해 HTTP Basic을 인증하려면 어떻게해야합니까?EJB JAX-WS 웹 서비스 인증 및 권한 부여
웹 프로젝트에서 web.xml
을 사용하여 역할을 그룹에 매핑 할 수 있지만 EJB-JAR 프로젝트에서이를 수행하는 방법을 모릅니다. 나는 그것이 ejb-jar.xml
과 함께 할 수 있다고 생각하지 않는다.
@Stateless
@WebService(portName="RestrictedServicePort")
@DeclareRoles(value = "Administrators")
public class RestrictedServiceBean {
@RolesAllowed(value = "Administrators")
public String restrictedOperation() {
return "Secret information";
}
}
오류 :
<faultstring>[EJB:010160]Security Violation: User: '<anonymous>' has insufficient permission to access EJB: type=<ejb>
기본 자격 증명 헤더 : 역할 주석없이 잘 작동
샘플 코드,
Authorization: Basic d2VibG9naWM6d2VsY29tZTE=
을 내가 그것을 수행해야합니다 의심 공급 업체별 구성을 통해 WebLogic 10.3.6, Java EE 5/EJB 3.0을 사용하고 있습니다. 정책을 통해
답변은 내 질문의 HTTP 인증 측면과 관련이 없습니다.내 문제는, 세션 빈에서 선언되고 AS에서 생성 된 역할조차도 WebLogic은 기본 자격 증명으로 인증하지 않는다는 것입니다. 간단한 HTTP 기본 인증처럼 애플리케이션 서버 기능을 사용할 수없는 경우 JAX-WS로 EJB를 게시하는 목적은 무엇입니까? 나는 그것이 통합되기를 기대할 것이다. – BonanzaOne
사과, 내가 그룹에 역할을 매핑에 관한 질문의 진술에 열쇠. 기본 인증에 대한 답변을보다 구체적으로 업데이트하겠습니다. –
지연에 대해 유감스럽게 생각했지만 제가 시도한 몇 가지 시도에서 제안을 적용하는 데 성공하지 못했습니다. 방금 게시 한 답변을 사용하여 웹 서비스를 보호 할 수있었습니다. – BonanzaOne