目的
为了解决每添加一个不需要登录的接口,首先要去 security.ignore.http-urls 配置不需要登录的接口路径,然后重启网关服务(因为网关掌握着鉴权),这样生产环境频繁重启,很不友好。于是自己
- 结合Spring Security权限相关的功能
- 结合Nacos动态刷新配置优点扩展了能动态刷新需要放权路径的功能
警惕
该功能需要测试是否稳定,毕竟官方没有这种方案,自己结合已有知识和大量实践试错整合的,并不确定是否会影响以后Spring Security+OAuth2权限相关功能。如果影响,以后会下线此功能。当然本人已经自测能想到的大部分异常场景,基本发现的问题,都已经及时修补,如果还有其它大bug,可能会下线此功能。
使用方法
把需要放权的地址配置到gateway-server-*.yml中的 dhgate.security.ignore.dynamic-http-urls 中,替换之前的 http-urls即可
dhgate:
security:
ignore:
#固定放权地址(修改不会生效)
http-urls: >
/actuator/health,
/uaa/**
#动态放权地址(修改会动态生效)
dynamic-http-urls: >
/dsuser/users-anon/**,
/dsuser/api/**,
/buser/users-anon/**,
/buser/api/**
注:http-urls为静态配置,除了认证中心和网关自身地址外,暂时不配置任何地址
其他
此次更新同步修复不需要登录的接口,传过期token导致报token过期异常问题。