小强统一认证中心开源介绍

本文是统一认证中心介绍开篇。
开发认证中心主要是希望减少更多的重复,开发一套多平台复用,才是美滋滋的设计。

相关文章

1.统一认证是什么

“ 统一登录” 指的是,将每个系统的登录拆出单独的服务,其它服务调用,来实现支持多平台单点登录的效果。
“ 统一认证” 指的是,在提供统一登录的同时,兼容多平台的用户、部门、角色、菜单管理。

2.开发背景

随着不同业务线的发展会有各式各样的后台系统,比如

  • xx订单系统
  • xx中台
  • 运维系统
  • 发布系统
  • 测试平台

作为业务不同会接触各种各样的系统,那么问题来了?这些系统中通用的功能是什么?

  • 登录
  • 用户账号相关管理
  • 菜单权限管理
  • 角色管理

每做一个系统为了数据安全性用户登录肯定是要的,但是如果每做一个系统就做一套登录,用户相关管理功能,是不是重复的工作,重复的劳动力呢?

您可能会说,可以拷贝一份。

那么拷贝的这一份是不是需要包含代码+数据库,各平台的账号还是独立的?代码拷贝还是重复的代码,真的优雅吗?

期望功能需求

  • 一个用户仅有一个账号(记密码也方便);
  • 可以为用户的账号赋值任意系统的角色权限 ;
  • SSO单点登录,若用户同时拥有系统A和系统B的权限,登录其中一个后另一个无需登录 ;

基于这些需求+减少重复+干掉重复 。 统一认证中心应用而生。

3.统一认证用于做什么

例如:我司有6个内部系统,每个系统都需要,登录+控制到按钮级别的权限控制。

这个时候就可以用到认证中心了,所有平台对接认证中心后,即有了登录+用户+角色相关的功能。

并且可以

实现用户账号统一,登录一个平台,多平台共享在线状态。

4.功能原理流程

简单概括:
认证中心负责登录-与用户账户以及赋权,并提供给其它子系统开放接口,用于下发用户在子系统的菜单权限。

5.技术架构

确实未引入高难度技术,也没有啥牛逼的高并发,多线程什么的。初衷就是先能支持多平台,减少开发重复。

开源的工程使用的单体结构,线上的话可以改成微服务或者-推荐负载部署至少2个以上节点保证服务的高可用

后端开发环境

  • jdk1.8
  • spirngBoot 2.1.17
  • mysql 5.7
  • redis 4.0
  • mybatis
  • druid 1.2.4
  • security

前端使用的是 Vue

6.功能介绍

6.1统一登录页

6.2我的平台

简介:这里指的是我可以登录的平台。

按钮功能

  • 点击可直接跳转到相应的平台。
  • 排序,可通过拖动实现平台间的排序 (可以把常用的排在前面)

6.3平台管理

简介:这里指的是您具有的那些平台管理的权限 。

按钮功能

  • 新增平台。
  • 点击平台图标可跳转到到对应平台维护页。

6.3.1平台详情

简介:前提,具有该平台管理权限

按钮功能

  • 修改:可以修改平台基本信息
  • 修改秘钥:该平台请求认证中心时加签的秘钥,不配置则默认不验签,推荐使用RSA。
  • 系统管理员:可跳转至系统管理员界面,可以为该平台添加管理员。管理员可以维护该平台相关信息。

6.3.2用户管理

简介:所有平台的公共账户,所属部门可选,赋权角色后可在我的平台看到拥有该平台的跳转权限。

按钮功能

  • 新增用户
  • 修改:可为用户添加本平台的角色,部门,以及修改部分用户基本信息 ;
  • 重置:为该用户重置登录密码 ;
  • 移除:移除改用户与本系统的关系,(包括与当前平台所有关系,角色,部门等) ;
  • 删除:删除改用户,谨慎使用,删除后所有平台均删除了;

6.3.3部门管理

简介:部门管理-可选数据,若无必要可不使用,每个平台的部门是独立的。

按钮功能

  • 新增:为该平台新增一个部门
  • 修改:修改该部门信息
  • 删除:删除部门信息,若存在子部门则不允许删除

6.3.4菜单管理

简介:所有平台的公共账户,所属部门可选,赋权角色后可在我的平台看到拥有该平台的跳转权限。

区分平台:每个平台的部门是独立的。

按钮功能

  • 新增: 为该平台新增一个部门
  • 修改:修改该部门信息
  • 删除:删除部门信息,若存在子部门则不允许删除

6.3.5角色管理

简介:角色数据管理,每个平台的角色是独立的。

按钮功能

  • 新增: 为该平台新增一个角色
  • 修改:修改该角色信息
  • 删除:删除角色信息,若存在已有用户使用了,则不允许删除
  • 已关联用户:可查看已经使用该角色的用户列表

已关联用户页

6.4系统监控

6.4.1在线用户

按钮功能

  • 已登录子系统:可查看该用户已经登录的子系统,子系统数据为空则表示仅登录了认证中心
  • 强退:退出认证中心-并退出所有已登录的子系统

6.4.2登录日志

简介:可查看每次一次登录的记录信息,以及登录失败的具体原因

关注程序员小强公众号更多编程趣事,知识心得与您分享

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值