@Component(value="AuthorizationManager")
@RefreshScope
public class AuthorizationManager
extends java.lang.Object
implements org.springframework.security.authorization.ReactiveAuthorizationManager<org.springframework.security.web.server.authorization.AuthorizationContext>
| Constructor and Description |
|---|
AuthorizationManager() |
| Modifier and Type | Method and Description |
|---|---|
reactor.core.publisher.Mono<org.springframework.security.authorization.AuthorizationDecision> |
check(reactor.core.publisher.Mono<org.springframework.security.core.Authentication> mono,
org.springframework.security.web.server.authorization.AuthorizationContext authorizationContext)
权限检查
|
java.lang.String |
getFinalPath(org.springframework.web.server.ServerWebExchange exchange)
获取完全访问地址
|
static java.lang.String |
getHeadProperties(org.springframework.http.server.reactive.ServerHttpRequest request,
java.lang.String headName)
获取请求头中的信息
|
java.util.LinkedHashMap<java.lang.String,java.lang.Object> |
getRealPath(org.springframework.http.server.reactive.ServerHttpRequest request)
根据访问URL获取接口真实地址,主要区分实际请求和路径传参的请求
|
void |
init() |
static boolean |
ipMatch(java.lang.String regList,
java.lang.String ipAddress)
判断某个地址,是否包含在IP白名单或黑名单
|
boolean |
permitAll(java.lang.String requestPath)
校验是否属于免验证的资源
|
@PostConstruct public void init()
public java.lang.String getFinalPath(org.springframework.web.server.ServerWebExchange exchange)
public reactor.core.publisher.Mono<org.springframework.security.authorization.AuthorizationDecision> check(reactor.core.publisher.Mono<org.springframework.security.core.Authentication> mono,
org.springframework.security.web.server.authorization.AuthorizationContext authorizationContext)
check in interface org.springframework.security.authorization.ReactiveAuthorizationManager<org.springframework.security.web.server.authorization.AuthorizationContext>public boolean permitAll(java.lang.String requestPath)
requestPath - 请求路径public static java.lang.String getHeadProperties(org.springframework.http.server.reactive.ServerHttpRequest request,
java.lang.String headName)
request - 请求对象headName - 头信息中对应的名称,如果取ip,则直接传ippublic java.util.LinkedHashMap<java.lang.String,java.lang.Object> getRealPath(org.springframework.http.server.reactive.ServerHttpRequest request)
request - 请求对象public static boolean ipMatch(java.lang.String regList,
java.lang.String ipAddress)
regList - ip名单,各个ip逗号分隔,ip段用/分开。
如 String regList = "192.168.100.2,192.168.10.10/12";
表示 192.168.100.2,192.168.10.10,192.168.10.11,192.168.10.12ipAddress - 需要验证的IP地址