현재 IBM Websphere Application Server에 배포 된 웹 응용 프로그램을 테스트 중입니다. 콘솔 설정을 통해 LTPAToken 타임 아웃을 설정할 수 있음을 이해합니다. 그러나 ltpatoken이 만료되었음을 나타 내기 위해 JAVA에서 제한 시간 또는 청취자를 검색 할 수있는 방법이 있습니까?ltpatoken2 만료 시간 가져 오기
0
A
답변
0
당신은이 같은 Java 코드 (이 당신에게 줄 것이다 자격 증명 만료 시간) 당신이 ltpatoken에 특히 관심이 있다면
Subject callerSubject = WSSubject.getCallerSubject();
Set<WSCredential> credentials = callerSubject.getPublicCredentials(WSCredential.class);
// should contain only one credential
int credSize = credentials.size();
if(credSize != 1)
throw new RuntimeException("Invalid credential number: "+credSize);
WSCredential cred = credentials.iterator().next();
System.out.println("getExpiration: " + cred.getExpiration()+" date: " + new Date(cred.getExpiration()) + "<BR>");
에서 토큰 만료 시간을 얻을 수 있습니다, 당신은 (그것을 조금 확장 할 필요가 그러나 아마 자격 증명) 당신을 위해 충분합니다
Set tokens = callerSubject.getPrivateCredentials();
for (Object o : tokens) {
if(o instanceof SingleSignonToken) {
SingleSignonToken ssoToken = (SingleSignonToken)o;
System.out.println("getName: " + ssoToken.getName()+"<BR>");
if("LtpaToken".equals(ssoToken.getName())){
System.out.println("getExpiration: " + ssoToken.getExpiration()+"<BR>");
}
}
}
0
SingleSignonToken의 getExpiration() 메소드는 밀리 초 단위로 만료 시간을 반환합니다. 다음과 같이 할 수 있습니다.
ssoToken.getExpiration() - System.currentTimeMillis();
이 토큰이 남은 시간을 확인하십시오. 또는이를 수행 할 isValid() 메서드를 호출 할 수 있습니다.
일반 기간 또는 개별 lta 토큰에 대한? 일반적인 설정은 wsadmin (스크립트 또는 자바 코드)을 통해 검색 할 수 있어야하지만 그 값이 검색되는 방법을 정확히 알지 못합니다. 개별 토큰의 경우 ltpa 토큰 쿠키에서 만료일을 확인할 수 있습니까? – DanielBarbarian
안녕하세요, 저는 실제로 둘 다보고 있습니다. ltpatoken 쿠키에 사용할 수있는 방법을 살펴 보았습니다. 시간 제한 기간이 아닌 최대 수명 만 검색 할 수 있습니다. – Sebastian
그러나 모든 쿠키에는 만료 시간이 설정되어 있어야합니다. 또는 만료일이 다른 것으로 설정되었을 수도 있습니다. – DanielBarbarian