2010-02-02 3 views
1

사용자가 LDAP 서버에 저장된 비밀번호를 재설정 할 수있는 Java 코드가 있습니다. 코드는 Glassfish에서 실행되는 웹 응용 프로그램의 일부로 실행됩니다.Glassfish 캐싱 LDAP 비밀번호

내가보기에 문제는 암호 변경 작업을 호출 한 후 사용자가 두 암호 중 하나를 사용하여 응용 프로그램에 액세스 할 수 있다는 것입니다.

나는 LDAP 서버에 대해 직접 실행되는 유닛 테스트를 가지고 있으며 비밀번호가 실제로 변경되었으며 사용자가 이전 비밀번호를 사용하여 액세스 할 수 없음을 확인할 수 있습니다. 문제는 LDAP 서버에 없습니다.

내가 알아 차린 점은 암호 변경 작업 후에 Glassfish를 다시 시작하면 예상대로 새 암호 만 유효하다는 것입니다. 글래스 피쉬가 어딘가에 자격 증명을 캐싱하고 있다고 생각합니다. 내가

  • 글래스 피시 암호 캐시를 다시

    1. 하면 LDAP 자격 증명을 캐시하지 글래스 피시에게 하나에 (또는 어쩌면 내 web.xml에) 글래스 피시에서 설정해야 할 무엇

    미리 감사드립니다 ....

    업데이트 이 문제가 계속 발생합니다. 나는 또한 브라우저가이 정보를 저장할 수 있다고 생각했지만, 그렇지 않은 것 같다. 내 브라우저 세션을 닫고 두 암호가 새 세션에서 작동합니다. 다른 유형의 브라우저에서도 마찬가지입니다. BTW - 중요한지는 모르지만 HTTP 기본 인증입니다.

    업데이트 또한 Glassfish에 포함 된 단일 사인온 기능을 사용하고 있습니다. this article에서 세션이 브라우저의 쿠키에 연결되어있는 것처럼 보이며 사용자가 쿠키가 만료 될 때까지 유효한지 알 수 있습니까? 쿠키가 세션에 묶여있는 것처럼 보입니다. 이 사실을 파악하는 데 더 가까워지면 ....

  • +0

    는, 당신이 그것을 해결하는 방법을 알아 냈 있는지 알고 싶어요. 세션 쿠키 (브라우저를 닫을 때 만료 됨)를 사용하고 브라우저를 다시 시작한 후에도 이전 암호를 수락하기 때문에 쿠키와 관련이 없으므로 Glassfish가 여기에 대해 책임을지게됩니다. –

    +0

    아니요. 결코 알아 내지 못했습니다. 나는 그것이 글래스 피쉬 이슈라고 확신했다. 우리는이 동작을 보이지 않는 OpenAM 사용법을 변경했습니다. – Vinnie

    답변

    1

    시도 :이 동일한 문제를보고

    com.sun.jndi.ldap.connect.pool=false 
    
    +0

    감사합니다.이 비슷한 문제에 대한 근무했습니다. LDAP 서버에서 계정이 잠겨 있어도 (별도의 LDAP 클라이언트 인 Jxplorer로 확인 된 경우) 내 GlassFish EE 폼 인증 웹 앱이 로그인에 성공할 수있었습니다. 이 속성을 설정하면 웹 앱에서 더 이상 LDAP 잠긴 계정에 대한 로그인을 허용하지 않습니다. – user640118