우주먼지

💡 Spring EL 접근 제어 표현식

 

hasRole(String role)
보안의 주체(principal)가 지정된 역할을 가지고 있다면 true 리턴
파라미터의 값은 ROLE_로 시작해야하지만
DefaultWebSecurityExpressionHandler의 defaultRolePrefix를 수정하여 Customize 할 수 있다
hasAnyRole(String... roles)
principal이 지정한 역할이 1개 이상이면 true 리턴, 문자열의 리스트를 ','로 구분하여 전달한다
hasAuthority(String authority)
principal이 지정한 권한을 가지고 있으면 true 리턴, ex) hasAuthority('write')
hasAnyAuthority(String... authorities)
principal이 지정한 권한 중 1개라도 있으면 true리턴
principal
현재 사용자를 나타내는 principal 객체에 직접 접근 가능
authentication
SecurityContext가 조회할 수 있는 Authentication 객체에 직접 접근 가능
permitAll
true로 처리한다
denyAll
false로 처리한다
isAnonymous()
if (principal == Anonymous) return true
isRememberMe()
if (principal == remember-me User인 경우) return true
isAuthenticated()
if (User=!익명) return  true
isFullyAuthenticated()
if (User != remember-me || User != Anonymous) return true
hasPermission(Object target, Object permission)
if (User.hasPermission(target)) return true, ex) hasPermission(APKObject, 'write')
hasPermission(Object targetId, String targetType, Object permission)
if (User.hasPermission(target)) return true, ex) hasPermission(5, 'com.test.request', 'write')

'Framework > Spring' 카테고리의 다른 글

Implement JWT Login Authentication  (0) 2022.11.25
JWT (Json Web Token) & Sticky Session  (0) 2022.11.22
Authorization  (0) 2022.11.21
Authentication  (0) 2022.11.20
Servlet Filter Chain & DelegatingPasswordEncoder  (0) 2022.11.20
profile

우주먼지

@o귤o

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그