zuul 做权限服务的时候大家是用自定义的ZuulFilter + jwt 去做还是用spring-security-oauth2 去做的

第一种方案:就是用户请求的时候在过滤器中校验是否含有jwt token,如果验证通过把token保存。保存在哪里比较好,数据库中还是redis。 下次请求获取token 直接调用其他service。这样就能保证了token能在多个微服务之间的使用。

第二种方案:oauth2 还不知道怎么去做,也希望懂的朋友交流下。
已邀请:

gavin_guo

赞同来自: leejean

可以借用oauth2完成用户名密码的校验颁发token。用户请求时每次携带token。
zuul同时作为ResourceServer,完成两个任务:
1,验证token的真伪。
2,根据token进行权限控制。
3,从token获得实际代表的用户信息,比如user_id,tenant_id。通过ZuulFilter转发给后续服务。
 
后续服务最好不要做任何和token以及权限相关的事情。为了测试用调试的方便。
 
oauth2的TokenStore选择RedisTokenStore,这样颁发的token会全部存在redis,验证token时也会从redis取得。
 
可以参考我的代码
https://github.com/gavin-guo/spring-cloud-demo.git

要回复问题请先登录注册