2017-12-08 20 views
0

현재 IBM Websphere Application Server에 배포 된 웹 응용 프로그램을 테스트 중입니다. 콘솔 설정을 통해 LTPAToken 타임 아웃을 설정할 수 있음을 이해합니다. 그러나 ltpatoken이 만료되었음을 나타 내기 위해 JAVA에서 제한 시간 또는 청취자를 검색 할 수있는 방법이 있습니까?ltpatoken2 만료 시간 가져 오기

+0

일반 기간 또는 개별 lta 토큰에 대한? 일반적인 설정은 wsadmin (스크립트 또는 자바 코드)을 통해 검색 할 수 있어야하지만 그 값이 검색되는 방법을 정확히 알지 못합니다. 개별 토큰의 경우 ltpa 토큰 쿠키에서 만료일을 확인할 수 있습니까? – DanielBarbarian

+0

안녕하세요, 저는 실제로 둘 다보고 있습니다. ltpatoken 쿠키에 사용할 수있는 방법을 살펴 보았습니다. 시간 제한 기간이 아닌 최대 수명 만 검색 할 수 있습니다. – Sebastian

+0

그러나 모든 쿠키에는 만료 시간이 설정되어 있어야합니다. 또는 만료일이 다른 것으로 설정되었을 수도 있습니다. – DanielBarbarian

답변

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() 메서드를 호출 할 수 있습니다.