public interface Authentication extends Serializable
ReactiveAuthenticationHolder,
AuthenticationManager| 限定符和类型 | 方法和说明 |
|---|---|
Authentication |
copy(java.util.function.BiPredicate<Permission,String> permissionFilter,
java.util.function.Predicate<Dimension> dimension)
copy为新的权限信息
|
static Optional<Authentication> |
current()
非响应式环境适用
Authentication auth= Authentication.current().get();
//如果权限信息不存在将抛出
NoSuchElementException建议使用下面的方式获取
Authentication auth=Authentication.current().orElse(null);
//或者
Authentication auth=Authentication.current().orElseThrow(UnAuthorizedException::new);
|
static reactor.core.publisher.Mono<Authentication> |
currentReactive()
获取当前登录的用户权限信息
public Mono<User> getUser(){
return Authentication.currentReactive()
.switchIfEmpty(Mono.error(new UnAuthorizedException()))
.flatMap(autz->findUserByUserId(autz.getUser().getId()));
}
|
<T extends Serializable> |
getAttribute(String name)
根据属性名获取属性值,返回一个
Optional对象。 |
Map<String,Serializable> |
getAttributes() |
default Optional<Dimension> |
getDimension(DimensionType type,
String id) |
default Optional<Dimension> |
getDimension(String type,
String id) |
List<Dimension> |
getDimensions() |
default List<Dimension> |
getDimensions(DimensionType type) |
default List<Dimension> |
getDimensions(String type) |
default Optional<Permission> |
getPermission(String id)
根据权限id获取权限信息,权限不存在则返回null
|
List<Permission> |
getPermissions() |
User |
getUser() |
default boolean |
hasDimension(DimensionType type,
String id) |
default boolean |
hasDimension(String type,
Collection<String> id) |
default boolean |
hasDimension(String type,
String... id) |
default boolean |
hasPermission(String permissionId,
Collection<String> actions) |
default boolean |
hasPermission(String permissionId,
String... actions)
判断是否持有某权限以及对权限的可操作事件
|
Authentication |
merge(Authentication source)
合并权限
|
static reactor.core.publisher.Mono<Authentication> currentReactive()
public Mono<User> getUser(){
return Authentication.currentReactive()
.switchIfEmpty(Mono.error(new UnAuthorizedException()))
.flatMap(autz->findUserByUserId(autz.getUser().getId()));
}
ReactiveAuthenticationHolderstatic Optional<Authentication> current()
Authentication auth= Authentication.current().get();
//如果权限信息不存在将抛出NoSuchElementException建议使用下面的方式获取
Authentication auth=Authentication.current().orElse(null);
//或者
Authentication auth=Authentication.current().orElseThrow(UnAuthorizedException::new);
OptionalUser getUser()
List<Permission> getPermissions()
default boolean hasDimension(String type, Collection<String> id)
default boolean hasDimension(DimensionType type, String id)
default Optional<Dimension> getDimension(DimensionType type, String id)
default List<Dimension> getDimensions(DimensionType type)
default Optional<Permission> getPermission(String id)
id - 权限iddefault boolean hasPermission(String permissionId, String... actions)
permissionId - 权限id Permission.getId()actions - 可操作事件 Permission.getActions() 如果为空,则不判断action,只判断permissionIddefault boolean hasPermission(String permissionId, Collection<String> actions)
<T extends Serializable> Optional<T> getAttribute(String name)
Optional对象。T - 属性值类型name - 属性名Map<String,Serializable> getAttributes()
Authentication merge(Authentication source)
source - 源权限信息Authentication copy(java.util.function.BiPredicate<Permission,String> permissionFilter, java.util.function.Predicate<Dimension> dimension)
permissionFilter - 权限过滤dimension - 维度过滤Copyright © 2016–2023. All rights reserved.