2009-07-23 4 views
2

웹 서비스에 대한 요청을 인증/권한 부여하는 JBoss 용 사용자 지정 로그인 모듈을 작성했습니다. 서비스에 대한 첫 번째 호출은 정상적으로 인증됩니다. 디버거를 로그인 모듈에 연결하고 코드 실행을 추적 할 수 있습니다. 그러나 이후의 모든 웹 서비스 호출은 로그인 모듈 전체를 건너 뜁니다. JBoss/jaas가 첫 번째 연결의 결과를 다시 사용하고있는 것으로 보입니다.JBoss 사용자 지정 로그인 모듈 만 작동합니다.

막혔습니다. 고비를 넘겨 줄 제안이있어?

답변

0

세션 개체에 인증/권한 부여가 연결되어 있습니까? 세션의 시간 초과/무효화는 어떻게 설정 했습니까?

JBOSS가 어떻게 든 자격 증명을 캐싱하고 있습니다. 이 경우으로 로그인 모듈을 건너 뛰고 싶습니다. 세션을 로그 아웃하거나 시간 초과 한 경우에만 무효화해야합니다.

각 세션마다 고유 한 두 명의 사용자/브라우저로 테스트 해 보셨습니까?

+0

제 생각에는 JBoss가 뭔가를 캐싱하고 있습니다. 이것은 무국적 웹 서비스를위한 맞춤 보안 모듈이므로 자격 증명을 직접 캐싱하는 것이 좋습니다. JBoss 캐싱을 비활성화하고 로그인 모듈을 매번 실행하도록하고 싶습니다. – IdahoX

1

나는 그것을 알아 냈다. 쿠키 기반 인증을 설정하려고했습니다. 분명히 JBoss/Jaas는 사용자 이름과 암호를 기반으로 성공적인 인증을 캐시하고 쿠키는 무시됩니다. 일을 제대로하려면 웹 서비스 요청에서 쿠키를 삭제하고 인증 헤더의 사용자 이름과 비밀번호로 바꿨습니다.

관련 문제