[SPRING] 스프링 보안 - / j_spring_security_check로 디스패치
SPRING스프링 보안 - / j_spring_security_check로 디스패치
나는 스프링 보안을 갖추고 login.jsp를 통한 로그인은 완벽하게 작동한다.
이제는 URL을 기반으로 로그인 한 사용자를 자동으로 가져와야합니다 (Single Sign On과 유사). 기본적으로 URL에 기본적으로 암호화 된 코드 인 경로 매개 변수가 있습니다. 자동 로그인을 수행하기 위해이 코드를 처리합니다.
내가 올바른 패스 매개 변수를 가지고 있는지 확인하기 위해 LoginController를 수정하려고합니다.이 사용자 이름과 암호를 사용하여 "forward : / j_spring_security_check? j_username ="+ username + "& j_password ="+ password
그러면 다음 오류와 함께 login.jsp로 연결됩니다. 로그인 시도가 실패했습니다. 다시 시도하십시오. 원인 : 인증 방법이 지원되지 않음 : GET
나는 또한 "redirect : / j_spring_security_check? j_username ="+ username + "& j_password ="+ 패스워드로 시도했지만 도움이되지 않았다.
/ j_spring_security_check에 대한 호출은 POST이지만 전달 : & redirect :는 GET을 수행하므로 내 LoginController에서 POST로 / j_spring_security_check에 어떻게 디스패치 할 수 있습니까?
감사
해결법
-
==============================
1./ j_spring_security_check URL은 UsernamePasswordAuthenticationFilter에 매핑되어 요청을 처리합니다.
/ j_spring_security_check URL은 UsernamePasswordAuthenticationFilter에 매핑되어 요청을 처리합니다.
UsernamePasswordAuthenticationFilter에서 기본적으로 postOnly는 true로 설정됩니다.
postOnly를 false로 설정 한 spring-security.xml의 다음 변경 사항이 적용되었습니다.
<bean id="authenticationFilter" class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter" p:postOnly="false" />
또한 web.xml에서 다음 구성이 필요합니다.
<filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
-
==============================
2.getMethod에 대해 "GET"대신 "POST"를 리턴하는 요청 랩퍼를 사용하여 점검을 생략 할 수 있습니다.
getMethod에 대해 "GET"대신 "POST"를 리턴하는 요청 랩퍼를 사용하여 점검을 생략 할 수 있습니다.
그러나 수표는 이유가 있습니다. 일반적으로 자격 증명을 URL 매개 변수로 보내는 것은 나쁜 습관으로 간주됩니다. 암호화 된 매개 변수를 사용하는 경우에도 암호화되지 않은 인증 자격 증명을 보내는 사람은 누구나이를 사용하여 인증 할 수 있으므로 기술적으로는 암호화되지 않은 인증 자격 증명을 보내는 것과 같습니다.
from https://stackoverflow.com/questions/15544398/spring-security-dispatch-to-j-spring-security-check by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] NHibernate 및 Spring을 사용하여 Deadlocks에 대해 RetryAdvice 및 ExceptionTranslation을 구성하는 방법 (0) | 2019.04.10 |
---|---|
[SPRING] 봄 : ResponseEntity <Void>를 사용하여 빈 HTTP 응답 반환 (0) | 2019.04.10 |
[SPRING] REST 응용 프로그램이 아닌 웹 응용 프로그램에서 404 오류 처리 (0) | 2019.04.10 |
[SPRING] 앵귤러 4 httpclient xml 응답 (0) | 2019.04.10 |
[SPRING] 최대 절전 모드로 열 수 줄이기 (0) | 2019.04.10 |