老师您好
来源:2-3 章节思考题

慕容9054781
2021-08-17
老师您好,gateway在实现鉴权的逻辑上,如何实现方法级别的鉴权,(就像shiro一样,有一个统一的鉴权逻辑,查询到相应的该用户的权限列表,然后通过在服务的方法上加注解进行鉴权), 我像有关鉴权的逻辑应该是要和角色/权限表和用户相联系,如果要这样做,gateway该怎么实现,多谢
写回答
1回答
-
同学你好:
你的这个问题其实与 Gateway 的关系不大,即使不使用 Gateway,使用 Zuul 或者等等其他的网关,我们也一样需要考虑这样的鉴权。对于这类鉴权作业,考虑如下的几个步骤即可(shiro 里面也是这样做的):
(1)收集方法的权限,使用注解解析或者预先定义都可以完成,收集之后存储到 JVM 或者数据表里面都可以(但是,如果存储到数据表的话,需要考虑更新的逻辑在里面)
(2)针对用户-角色的关系分配权限,即哪些方法可以由那些角色调用
(3)在网关层面根据之前收集和设定的关系做鉴权逻辑,true 则放行、false 则直接返回给 client,报 401 这样的结果即可
212021-08-18
相似问题