2013-11-01 4 views
2

AppservPasswordLoginModule (SSL)에서 HttpServletRequest의를 구하는 방법 :, 나는 HttpServletRequest의 구하려면 다음 구문을 사용하고 내 애플리케이션 서버 (글래스 피쉬 3.1.2.2)를 위해 개발 한 사용자 정의 로그인 모듈에서

PolicyContext.getContext(HttpServletRequest.class.getName()) 

그리고 잘 작동합니다.

하지만 이제는 HTTPS 만 사용하도록 서버를 구성하고 동일한 명령이 null을 반환합니다. 이것이 보안 제한 사항이라고 생각하지만이 문제 (server.policy?)를 해결하려면 무엇을 변경해야하는지 잘 모르겠습니다. 이것을 문맥에 넣으려면 유효한 로그인과 유효하지 않은 모든 로그인 시도의 IP 주소를 기록해야하며 모듈에서 요청하는 것이 가장 확실한 해결책으로 보입니다.

해결책을 찾을 수있는 사람이 있습니까?

답변

0

질문에 직접적으로 도움을 드릴 수는 없지만 PolicyContext은 JACC 클래스임을 알려드립니다. JACC 정책 제공자 내에서 작동하도록 지정되었습니다. 이 내용을 자세히 설명하는 an article I wrote을 참조하십시오.

HttpServletRequest을 GlassFish 독점 로그인 모듈에서 가져 오는 것이 확실하다는 보장은 없습니다. 실제로이 방법을 자주 사용하는 사람들을 보았지만 실제로는 일반적으로 작동합니다. https로 전환 할 때 작동하지 않는다는 사실은 특정 보안 제한보다 나에게 버그 또는 감독처럼 들립니다.

JASPIC을 사용하여 Java EE 표준 인증 모듈로 로그인 모듈을 다시 작성할 수 있습니다. 나는 또한 참조 용으로 사용할 수있는 해당 주제에 대해 an article을 작성했습니다. JASPIC에서는 명시 적으로 HttpServletRequest에 액세스 할 수 있습니다.