Spring Security

[기본] 시큐리티 권한처리

2023. 3. 25. 19:22

우선 manager와 admin이라는 id로 회원가입을 하자 (id는 굳이 저게 아니어도 된다.)

그리고 권한을 변경해 준다.

update user set role = 'ROLE_MANAGER' where id = 2;
update user set role = 'ROLE_ADMIN' where id = 3;
commit;

manager로 로그인을 하자

user와 manager 페이지로 이동이 가능하다.

하지만 admin은 안된다.

 

이번에는 admin으로 로그인을 하자

user, manager, admin 모두 갈 수 있다.

 

한 가지 추가하자면

 

SecurityConfig

@Configuration // IoC 빈(bean)을 등록
@EnableMethodSecurity(securedEnabled = true)	// secured 어노테이션 활성화
public class SecurityConfig {

 

IndexController

@GetMapping("/info")
@ResponseBody
public String info() {
    return "개인정보";
}

 

로그아웃 한 후 info에 접속해 보면 접속이 가능하다.

이제 IndexController에서

@Secured("ROLE_ADMIN")
@GetMapping("/info")
@ResponseBody
public String info() {
    return "개인정보";
}

이렇게 변경하고 다시 info에 접속하면 들어가지지 않고, 로그인 페이지가 나온다. @Secured를 통해 원하는 곳만 제한을 걸 수 있다.

 

@Configuration // IoC 빈(bean)을 등록
@EnableMethodSecurity(securedEnabled = true, prePostEnabled = true)    // secured 어노테이션 활성화, preAuthorize와 postAuthorize 어노테이션 활성화
public class SecurityConfig {
@PreAuthorize("hasRole('ROLE_MANAGER') or hasRole('ROLE_ADMIN')")
@GetMapping("/data")
@ResponseBody
public String data() {
    return "데이터정보";
}

@PreAuthorize는 해당 메서드가 실행되기 직전에 실행된다. 권한을 여러 개 걸고 싶을 때 사용할 수 있다.

 

@PostAuthorize라는 것도 있는데 이것은 메서드가 실행된 후 실행된다.

'Spring Security' 카테고리의 다른 글

[OAuth] 구글 회원 프로필 정보 받아보기  (0) 2023.03.26
[OAuth] 구글 로그인 준비  (0) 2023.03.26
[기본] 시큐리티 로그인  (0) 2023.03.25
[기본] 시큐리티 회원가입  (0) 2023.03.25
[기본] 시큐리티 설정  (0) 2023.03.25
'Spring Security' 카테고리의 다른 글
  • [OAuth] 구글 회원 프로필 정보 받아보기
  • [OAuth] 구글 로그인 준비
  • [기본] 시큐리티 로그인
  • [기본] 시큐리티 회원가입
ewok
ewok
ewok
기록장
ewok
전체
오늘
어제
  • 분류 전체보기
    • 웹개발 교육
      • HTML
      • CSS
      • JavaScript
      • Database
      • Java
      • jQuery
      • Ajax
      • Bootstrap
      • jsp
      • Spring
      • MyBatis
      • 프로젝트
    • JAVA
    • SpringBoot
      • 기초
      • AWS
      • 개인프로젝트
    • Spring Security
    • JPA
    • 테스트코드
    • Error
    • CS
      • 컴퓨터 구조
      • 이산수학
    • 알고리즘
      • 정리
      • Java
    • SQL
    • 자격증
      • SQLD
      • 정보처리기사
    • Git

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • this
  • 브랜치
  • base
  • git bash
  • org.springframework.beans.factory.UnsatisfiedDependencyException
  • 노랭이
  • 버전 관리
  • SQLD
  • GIT
  • sqld 자격증
  • merge commit
  • branch
  • sqld 합격
  • org.hibernate.tool.schema.spi.CommandAcceptanceException
  • 생성자

최근 댓글

최근 글

hELLO · Designed By 정상우.
ewok
[기본] 시큐리티 권한처리
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.