[블로그] spring security 로그인 이동 경로 및 설정
로그인
jpa 삭제
js 삭제
form 형태로 변경
apicontroller 삭제
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
https://www.baeldung.com/spring-security-taglibs
<sec:authorize access="isAuthenticated()">
<sec:authentication property="principal" var = "principal"/>
</sec:authorize>
이걸 넣어 두고
<c:when test = "${empty principal }">
이거 변경
@Override
protected void configure(HttpSecurity http) throws Exception {
http // xss 자바스크립트 공격
.csrf().disable() // 토큰 비활성화 테스트시 사용해야함 // 공격을 막기 위한 것이라 잠깐 막아둠
.authorizeRequests() // 요청이 들어오묜
.antMatchers("/","/auth/","/js/","/css/","/image/") // 여기는 열어둔다
.permitAll() // 이 주소는 허가하고
.anyRequest() // 나머지 주소는 피터링을 해워야한다
.authenticated()
.and()
.formLogin()
.loginPage("/auth/loginForm") // 실패한 페이지를 위임한 페이지
.loginProcessingUrl("/auth/loginProc")// url 로그인 요청이 form 요청으로 들어오면
.defaultSuccessUrl("/"); //로그인 성공시
//.failureUrl("/fail"); // 로그인 실패시
}
config - auth - PrincipalDetail
1.번
.loginProcessingUrl("/auth/loginProc")// url 로그인 요청이 form 요청으로 들어오면
2번 service 세션 저장 필수! UserDetail 타입만 가능하다. 만들어줘야한다
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
User principal = userRepository.findByUsername(username)
.orElseThrow(()->{
return new UsernameNotFoundException("해당 사용자를 찾을수 없다");
});
return new PrincipalDetail(principal); // -> 이때 시큐리티의 세션에 유저가 저장이 된다! UserDetail 타입만 가능하다.
}
3번 이 서비스를 넣어주고 페스워드 확인까지
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(null).passwordEncoder(encodePWD());
Author And Source
이 문제에 관하여([블로그] spring security 로그인 이동 경로 및 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jominjun94/블로그-spring-security-로그인저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)