public interface Authentication extends Serializable
ReactiveAuthenticationHolder,
AuthenticationManagerstatic 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(BiPredicate<Permission,String> permissionFilter, Predicate<Dimension> dimension)
permissionFilter - 权限过滤dimension - 维度过滤Copyright © 2016–2021. All rights reserved.