2012-07-26 4 views
4

로그인 모듈에서 HttpSession 또는 Request를 얻으려고합니다. 이미 JACC를 사용해 보았지만 작동하지 않았습니다.JAAS 로그인 모듈에서 HttpSession/Request 받기

로그인 창이 표시되어 captcha를 사용해야하므로이 기능이 필요합니다. 어쩌면 일부 JAAS 닌자가이를 수행하는 더 좋은 방법을 알고있을 것입니다. 나는 이것을하기 위해 kaptcha을 사용하고있다.

미리 감사드립니다.

답변

8

제 JBoss AS에서 실행되는 응용 프로그램과 똑같습니다.

는 여기에 내가 로그인 모듈 내에서 HttpServletRequest의 액세스하기 위해 할 작업은 다음과 같습니다

HttpServletRequest request = (HttpServletRequest) PolicyContext.getContext(HttpServletRequest.class.getName()); 

가 그럼 난 세션을 얻을, 보안 문자를 추출하여 화면에서 요청 매개 변수에 대해 그것을 확인합니다. 사용자를 인증 한 후 세션에서 captcha 매개 변수를 제거합니다. 이것은 나를 위해 잘 작동합니다.

사용자가 이미 인증 된 후에 로그인 모듈을 EJB 호출로 활성화 할 수도 있습니다. 이 경우 captcha 매개 변수는 물론 세션에 포함되지 않습니다. 그래서 확인하셔야합니다.