当前位置: 首页 > 知识库问答 >
问题:

每个微服务应该管理自己的用户权限和用户角色吗?

侯英达
2023-03-14

我有一个设计问题,我不知道如何解决。

假设我的主要应用程序由6个模块组成:

  • 客户端
  • 网关
  • auth-service
  • 论坛
  • 画廊
  • 消息

欢迎任何帮助!

附注:我阅读了微服务身份验证策略和ZUUL-API网关身份验证,但两者似乎都不适用于我的情况。

共有1个答案

宣高朗
2023-03-14

我使用了以下设置,效果非常好:

  1. 新浏览器请求特定资源
  2. 网关服务检测到jwt cookie的缺失并重定向到登录表单
  3. 登录表单通过网关与auth-service对话。网关只允许对auth-service
  4. 的非JWT调用
  5. Auth服务为登录表单提供一个新创建的jwt cookie,并重定向到原始URL
  1. 浏览器对资源和jwt cookie发出请求
  2. 网关服务拦截请求并将jwt转发给auth-service进行验证
  3. Auth服务检查签名,然后检查时间戳,然后检查黑名单,并返回肯定或否定的结果
  4. 如果是,网关服务将请求转发到相应的后端服务,否则重定向到登录
  5. 后端服务不进行jwt验证-它只信任网关发送有效请求。
  6. 后端服务检查JWT中定义的角色/权限/权限
    null
 类似资料:
  • 主要内容:一、用户管理,二、权限管理,三、权限表,四、角色管理一、用户管理 1.创建用户 用户名参数表示新建用户的账户,由用户(User) 和主机名(Host) 构成,默认host为'%',表示所有主机(ip)都可登录,也可以使用如'lxc'@'192.168.%.%'的形式 可以不指定用户密码,无需密码登录; 2.查看用户 3.修改用户 4.删除用户 1.使用DROP USER语句来删除用户时,必须用于DROP USER权限。DROP USER语句的基本语

  • 6.0 版本开始,管理员可以在用户管理界面为一个用户赋予一个角色,不同角色可以配置不同权限,目前支持 10 种权限。 6.1 版本开始,我们添加了一个新的权限 relo_quota(角色配额),该权限用来给某个用户的角色设置空间配额。例如,我们可以通过添加 'role_quota': '100g' 为 employee 角色设置100GB的空间配额,同时其他用户还是使用默认的空间配额。 Seafi

  • 有些企业会对向用户发送的营销内容进行严格的管理——基层的运营或营销经理拟定的活动必须经过上级管理者的审批,方可生效执行。为此,诸葛的智能触达中提供了基于用户角色的触达活动权限管理,以支撑上述的企业需求。 如果您的团队需要使用权限控制,可通过以下步骤开启使用: 开启权限控制:智能触达的权限控制默认是关闭的,需要开启后方能使用; 分配用户角色:为团队成员分别分配设定「管理员」和「运营人员」角色; 开始

  • 角色是分配给用户的权限集合。默认情况下,Navicat Monitor 包含三个预定义的角色供你分配给不同用户以限制其访问权限。它还允许你创建具自定义权限设置的新角色。苃要配置角色及其权限,请前往“配置”->“角色和权限”。 每个预定义的角色都有不同的权限: 角色 权限 管理员 可以完全控制访问所有页面。此角色的权限是不可编辑的。 DBA 可以访问所有页面,但以下功能“除外”: - 激活令牌密钥,

  • 假设一个web安全系统由5个表组成,这些表处理web应用程序的授权部分: 用户 角色 权限 角色权限(角色和权限之间的多对多) 用户角色(用户和角色之间的多对多) 有时,用户需要被授予对权限规则的短时间访问权限,然后再次删除,例如当某人外出度假,而其他人需要接管他的任务时。简单的回答是创建一个新角色,将该角色分配给用户,当不再需要该角色时,从用户中删除该角色或完全删除该角色。 我不想一直为这样的事

  • 所以,请提前指导我如何在spring mvc中实现这个任务谢谢。