💡 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 |