로그인 권한 처리
로그인 권한 처리
그 전에는 권한 처리가 없어서
role이 ADMIN이어도 로그인시 /amdin 페이지로 이동이 안되었음
이걸 해결해보자
롸..?
'ADMIN' 안됨 'ROLE_ADMIN' 이라고 해줘야 인식함.. 뭐?
WebSecurityConfig.java
// admin에 대한 요청은 전부, role이 ADMIN인 유저만이 사용가능하다.
// 인증이 안될경우 403 에러가 뜸
// 'ADMIN' 안됨 'ROLE_ADMIN' 이라고 해줘야 인식함.. 뭐?
.antMatchers("/admin/**").access("hasRole('ROLE_ADMIN')")
저렇게 access를 줘도 되고
또다른 방법이 있음
Controller 메소드에 직접적으로 Role을 부여하는 법
WebSecurityConfig.java
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
}
@EnableGlobalMethodSecurity 이것임!
- 최신 기술로 요즘엔 이거 많이씀 , securedEnabled = true 로 쓰면 컨트롤러에서 (@Secured("ROLE_ADMIN")) 이렇게 씀
- 또는 prePostEnabled = true 는 컨트롤러에서 @PreAuthorize("haseRole('ROLE_ADMIN')") 라고 쓰면됨
MainCotroller.java
@PreAuthorize("haseRole('ROLE_ADMIN')")
@Secured("ROLE_ADMIN")
@RequestMapping("/info")
public @ResponseBody String info(Model model) {
return "개인정보";
}
오.. 두번째 방법이 훨 쉽고 직관적이니 이걸 쓰는걸로
Author And Source
이 문제에 관하여(로그인 권한 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yunso/로그인-권한-처리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)