EgovSpringSecurityLoginFilter 의 소스부분 이해가 안되는 부분이 있습니다.
- 작성자 :
- 김*규
- 작성일 :
- 2020-02-04 15:53:48
- 조회수 :
- 2,489
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요.
all-in-one 3.8 소스중
EgovSpringSecurityLoginFilter.java가 있습니다.
그중
UsernamePasswordAuthenticationFilter springSecurity = null;
Map<String, UsernamePasswordAuthenticationFilter> beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
if (beans.size() > 0) {
springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0];
springSecurity.setUsernameParameter("egov_security_username");
springSecurity.setPasswordParameter("egov_security_password");
springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() +"/egov_security_login", "POST"));
} else {
LOGGER.error("No AuthenticationProcessingFilter");
throw new IllegalStateException("No AuthenticationProcessingFilter");
}
//springSecurity.setContinueChainBeforeSuccessfulAuthentication(false); // false 이면 chain 처리 되지 않음.. (filter가 아닌 경우 false로...)
LOGGER.debug("before security filter call....");
springSecurity.doFilter(new RequestWrapperForSecurity(httpRequest, loginVO.getUserSe() + loginVO.getId(), loginVO.getUniqId()), httpResponse, chain);
LOGGER.debug("after security filter call....");
부분이 무엇을 하는 곳인지 이해가 가지 않습니다.
감사합니다.
all-in-one 3.8 소스중
EgovSpringSecurityLoginFilter.java가 있습니다.
그중
UsernamePasswordAuthenticationFilter springSecurity = null;
Map<String, UsernamePasswordAuthenticationFilter> beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
if (beans.size() > 0) {
springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0];
springSecurity.setUsernameParameter("egov_security_username");
springSecurity.setPasswordParameter("egov_security_password");
springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() +"/egov_security_login", "POST"));
} else {
LOGGER.error("No AuthenticationProcessingFilter");
throw new IllegalStateException("No AuthenticationProcessingFilter");
}
//springSecurity.setContinueChainBeforeSuccessfulAuthentication(false); // false 이면 chain 처리 되지 않음.. (filter가 아닌 경우 false로...)
LOGGER.debug("before security filter call....");
springSecurity.doFilter(new RequestWrapperForSecurity(httpRequest, loginVO.getUserSe() + loginVO.getId(), loginVO.getUniqId()), httpResponse, chain);
LOGGER.debug("after security filter call....");
부분이 무엇을 하는 곳인지 이해가 가지 않습니다.
감사합니다.
A
안녕하세요.
표준프레임워크센터 입니다.
시큐리티 간소화 서비스에서
인증은 UsernamePasswordAuthenticationFilter 필터를 사용하고 있습니다.
전달된 값이 정상적으로 확인된 경우는
UsernamePasswordAuthenticationFilter에 전달하여
Filter 체인이 이어서 구동되도록
필요로 하는 파미터와 함께 전달하는 부분입니다.
전자정부 시큐리티 간소화 서비스에서는
스프링이 제공하는 다음 필터클래스를 사용하고 있습니다.
org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter
감사합니다.
표준프레임워크센터 입니다.
시큐리티 간소화 서비스에서
인증은 UsernamePasswordAuthenticationFilter 필터를 사용하고 있습니다.
전달된 값이 정상적으로 확인된 경우는
UsernamePasswordAuthenticationFilter에 전달하여
Filter 체인이 이어서 구동되도록
필요로 하는 파미터와 함께 전달하는 부분입니다.
전자정부 시큐리티 간소화 서비스에서는
스프링이 제공하는 다음 필터클래스를 사용하고 있습니다.
org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter
감사합니다.