老师您好

来源:2-3 章节思考题

慕容9054781

2021-08-17

老师您好,gateway在实现鉴权的逻辑上,如何实现方法级别的鉴权,(就像shiro一样,有一个统一的鉴权逻辑,查询到相应的该用户的权限列表,然后通过在服务的方法上加注解进行鉴权), 我像有关鉴权的逻辑应该是要和角色/权限表和用户相联系,如果要这样做,gateway该怎么实现,多谢

写回答

1回答

张勤一

2021-08-18

同学你好:

    你的这个问题其实与 Gateway 的关系不大,即使不使用 Gateway,使用 Zuul 或者等等其他的网关,我们也一样需要考虑这样的鉴权。对于这类鉴权作业,考虑如下的几个步骤即可(shiro 里面也是这样做的):

    (1)收集方法的权限,使用注解解析或者预先定义都可以完成,收集之后存储到 JVM 或者数据表里面都可以(但是,如果存储到数据表的话,需要考虑更新的逻辑在里面)

    (2)针对用户-角色的关系分配权限,即哪些方法可以由那些角色调用

    (3)在网关层面根据之前收集和设定的关系做鉴权逻辑,true 则放行、false 则直接返回给 client,报 401 这样的结果即可

2
1
慕容9054781
非常感谢!
2021-08-18
共1条回复

Spring Cloud / Alibaba 微服务架构实战

从架构设计到开发实践,手把手实现

1210 学习 · 674 问题

查看课程