JAAS를 위해 스레드에서 RunAs 제목 대체
JAAS(Java™ Authentication and Authorization Service) API(Application Programming Interface)가 제공한 기능을 확장하려면 이 실행 스레드에서 아웃바운드 요청에 사용된 것과 다른 올바른 항목으로 RunAs 제목 또는 호출 제목을 설정할 수 있습니다.
시작하기 전에
- permission javax.security.auth.AuthPermission "wssecurity.getRunAsSubject"
- permission javax.security.auth.AuthPermission "wssecurity.getCallerSubject"
- permission javax.security.auth.AuthPermission "wssecurity.setRunAsSubject"
이 태스크 정보
이 확장은 제목을 원격 조치와 연관시키기 위해 WSSubject.doAs 메소드를 사용하는지 여부와 관계 없이 제목을 이 스레드에 있는 모든 원격 호출과 연관시키는 유연성을 제공합니다.
애플리케이션 개발자는
WSSubject.doAs 메소드를 사용하여 지정된 조치를 수행하는 동안
WebSphere® Application Server 런타임이 사용할 활성
보안 ID로서 JAAS 로그인 모듈이 인증하는 JAAS 제목을 설정할 수 있습니다. WSSubject.doAs는 스레드에 동기화에 대해 구성된 컴포넌트 내에서 호출될 때에만
스레드 ID를 동기화합니다. 애플리케이션에서 OS 스레드에 동기화 허용 옵션과 함께 사용되면 이 ID는 해당 조치의 범위를 위해 운영
체제 스레드에 설정됩니다.
프로시저
예
try { javax.security.auth.Subject runas_subject, caller_subject; runas_subject = com.ibm.websphere.security.auth.WSSubject.getRunAsSubject(); caller_subject = com.ibm.websphere.security.auth.WSSubject.getCallerSubject(); // set a new RunAs subject for the thread, overriding the one declaratively set com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(caller_subject); // do some remote calls // restore back to the previous runAsSubject com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(runas_subject); } catch (WSSecurityException e) { // log error } catch (Exception e) { // log error }