πνκ²½
IntelliJ Ultimate
Java 17
SpringBoot 3.2.3
πλ¬Έμ
μ€νλ§ μν리ν°λ‘ νμ λ‘κ·ΈμΈ λ° λ‘κ·ΈμΈλ μ¬μ©μλ§ μ κ·Όν μ μλ νμ΄μ§λ₯Ό μ€μ νλ λμ€ ν΄λΉ μ€λ₯λ₯Ό λ°κ²¬ν¨.
μΏ ν€λ₯Ό μμ ν΄λ λ¬Έμ κ° μ§μμ μΌλ‘ λ°μνμ¬ ν΄κ²°νκΈ° μν΄ κΈμ μμ±νλ€.
1. `/`λ λ©μΈ μΈλ±μ€λ‘ λͺ¨λ μ μ κ° μ κ·Όν μ μκ³ , `/member/**`λ `MEMBER` κΆνμ κ°μ§ μ¬μ©μλ§ μ κ·Όν μ μλ€.
2. `/member`μ μ κ·Όν κ²½μ° μ¬μ©μκ° λ‘κ·ΈμΈνμ§ μμκ±°λ `MEMBER` κΆνμ΄ μμΌλ©΄ `/member/login`μΌλ‘ ν겨λκ°μΌ νλ€.
μ΄λ λ‘κ·ΈμΈ νμ§ μμ μ¬μ©μκ° `/member`λ‘ μ κ·Όν κ²½μ° `/member/login`μΌλ‘ κ°μ§ μκ³ μμ κ°μ μ€λ₯κ° λ°μνλ€.
πν΄κ²°
κ²°λ‘ λΆν° λ§νλ©΄ `/member/login` νμ΄μ§λ₯Ό `MEMBER` κΆνμ κ°μ§ μ¬μ©μλ§ μ μν μ μλλ‘ νμ©νλ μμ΄λ¬λλ₯Ό μ μ§λ κΈ° λλ¬Έμ΄λ€. λ‘κ·ΈμΈμ ν΄μΌλλλ° λ‘κ·ΈμΈνλ €λ©΄ κΆνμ΄ νμνκ³ κΆνμ΄ νμνλ° λ‘κ·ΈμΈ ν΄μΌνκ³ λ‘κ·ΈμΈμ ν΄μΌλλλ° κΆνμ΄ νμνκ³ κΆνμ΄ νμνλ° λ‘κ·ΈμΈ ν΄μΌνκ³ λ‘κ·ΈμΈμ ν΄μΌλλλ° κΆνμ΄ νμνκ³ κΆνμ΄ νμνλ° λ‘κ·ΈμΈ ν΄μΌνκ³ μμν λλ whileλ¬Έμ²λΌ 무ν 루νλ₯Ό λ²μ΄λμ§ λͺ»ν΄ νμ΄μ§κ° μλ¬λ₯Ό λμ°λ κ².
`/member/login`μ urlμ΄ `member`λ‘ μμνλ€κ³ `RequestMapping("member")`λ₯Ό μ€μ ν `MemberController`μ λ£μ΄λ κ²μ΄ νκ·Όμ΄μλ€.
@Controller
@RequestMapping("/member")
@Slf4j
@RequiredArgsConstructor
@PreAuthorize("hasAnyRole('MEMBER')")
public class MemberController {
private final MemberService memberService;
@GetMapping("/")
public String index(){
return "index";
}
@GetMapping("/login")
public void loginGET(String error, String logout){
log.info("Member login get......");
}
}
무ν 루νλ₯Ό νμΆνκΈ° μν΄ `/member/login`μ μΈμ¦λμ§ μμ μ¬μ©μλ μ κ·Όν μ μλλ‘ μ€μ ν΄μ€λ€.
@Controller
@Slf4j
public class HomeController {
@GetMapping("/")
public String index(){
return "/index";
}
@GetMapping("/member/login")
public void loginGET(String error, String logout){
log.info("Member login get......");
}
}
@Configuration
@Slf4j
@EnableMethodSecurity(prePostEnabled = true)
public class CustomSecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
// ν΄λΉ λ©μλλ₯Ό μμ±νλ©΄ νν°λ₯Ό 컀μ€ν
ν μ μμ
http.authorizeHttpRequests(request ->
request.requestMatchers("/", "/member/login", "/css/**", "/img/**", "/js/**")
.permitAll()
.anyRequest()
.authenticated())
.formLogin(formLogin -> formLogin.loginPage("/member/login").loginProcessingUrl("/member/login"))
.csrf(AbstractHttpConfigurer::disable);
return http.build();
}
...
}
ν©λΉν μ€μμ§λ§ μμΈλ‘ λ§μ΄ κ²ͺμ κ² κ°μμ μμ±ν΄λλ€.
'Java > Spring' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[SpringBoot] Spring Security: permitAll()μ΄ λμνμ§ μμ (0) | 2024.03.27 |
---|---|
[SpringBoot] νμ΄μ§λ€μ΄μ (Pagination) (0) | 2024.03.26 |
[Spring] μ€νλ§ μν리ν°(Spring Security) (0) | 2024.03.21 |
[SpringBoot] Spring Security μ¬μ© μ deprecated (0) | 2024.03.16 |
_(underscore)λ‘ μ°κ²°λ uuidμ μλ³Έ νμΌλͺ μλΌμ 보κ΄νκΈ° (0) | 2024.03.16 |