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

相关文章

  • 认证中心-项目工程介绍
  • 多平台部署实例

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. 自然语言模型算法太杂乱?国产统一 AI 开源框架来了

    2020-04-07 17:34:47 2019年8月,基于深度学习的语音和自然语言理解模型训练平台DELTA正式开源.一经开源,DELTA登上GitHub 热榜,获得 1k+的Star数,受到深度学 ...

  2. 自然语言模型算法太杂乱?国产统一 AI 开源框架来了!

    2019年8月,基于深度学习的语音和自然语言理解模型训练平台DELTA正式开源.一经开源,DELTA登上GitHub 热榜,获得 1k+的Star数,受到深度学习框架Keras的作者François ...

  3. 统一认证中心-auth2.0

    背景 随着微服务架构的兴起,模块之间细分力度更小.许多公司将单点登录会做成一个统一的微服务平台.但是一旦抽象出一个单独的微服务平台之后,就会涉及到如下问题:(1)接入方在不同的域名,会涉及到跨域问题: ...

  4. OpenMLDB新手入门开源介绍

    10 月开发者嘉年华,我正在参与「开源博客马拉松挑战」,点击链接 1024 开发者嘉年华 了解活动详情. OpenMLDB项目开源地址:https://github.com/4paradigm/Ope ...

  5. BBA EDI 项目数据库方案开源介绍

    近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源.用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区 ...

  6. Android开源介绍-UI组件

    终端的开发,UI的重要性不言而喻,如何快速开发出优雅漂亮的UI,android的一些开源UI组件,提供了很好的参考. 参考: oschina Android UI组件  最火的Android开源项目( ...

  7. 【解决方案】医院医疗安防视频监控系统搭建及集成统一管理方案介绍

    一.背景介绍 近年来一些不法分子把罪恶的手伸到了医院,严重危害了医院和病人的生命财产安全,他们实行扒.窃.抢.破坏等卑劣手段扰乱医院工作秩序.窃取他人钱财.破坏社会治安.为了我们的健康,为了社会的安宁 ...

  8. 沃云统一开发平台介绍

    沃云集成平台 研发平台介绍 1.平台优势 2.平台原理 3.研发平台使用方法 4.遇到的问题 5.现阶段实现的功能 6.后续需要补充的功能和优化内容 研发平台介绍 1.平台优势 解决孤岛式应用,实现能 ...

  9. 统一登录passport介绍

    前一段时间,因为在开发中使用到公司的统一登录平台passport,所以就自己找了很多资料,详细的学习了一下它们的原理以及实现过程,这里就着重分享一下"跨域共享cookie和跨域共享sessi ...

  10. OA系统一:概况介绍;

    Servlet,JSP,Mybatis这些技术的一个综合应用案例.OA系统是一个完整的企业级应用,包括底层如何数据建表,如何去接受来自于网页的数据,如何返回对应的结果等等. OA系统中的内容是比较重要 ...

最新文章

  1. 发布我的第一个flex作品
  2. Kali Linux 2017中Scapy运行bug解决
  3. “Hello World!”团队第二次会议
  4. android 定时查询,android – 如何检查计时器是否仍在运行?
  5. Python中的序列操作
  6. mybatis传参问题总结
  7. oracle建表代码,Oracle 建表(一对多)代码及相关约束示例
  8. HTML5 飞鸽传书web service都发布到交互服务器
  9. 中国三大运营商发声!要求纽交所复议退市决定
  10. 第四章 ASP.NET MVC HTML.ActionLink输出超链接的具体用法
  11. DEDECMS首页调用单页文档内容并带过滤HTML的方法
  12. java实现解压war_java文件操作之war压缩解压
  13. 2022春季苹果发布会将会发布什么?
  14. vue+element+上传图片插件
  15. 4、selenium3的安装
  16. Wordpress响应式Git主题/响应式CMS主题模板
  17. java小组的队名,小组队名和口号
  18. 扬州大学回应「清华博士入职5年,月薪才372元」
  19. 字节跳动Java研发面试总结:2个星期,4轮面试,我终于拿到offer
  20. python关键词对联_深度学习对联系统

热门文章

  1. Bugku CTF Web 滑稽 计算器 GET POST 矛盾 alert 你必须让他停下
  2. linux各种命令手册
  3. 从腾讯文化VS阿里文化看滴滴和UBER的并购事件
  4. hackthebox - blunder (Bludit渗透cewl使用 sudo提权)
  5. 泛泰A870 Recovery KitKat 合集
  6. R 回归 虚拟变量na_互助问答第30期:工具变量、GARCH模型操作和多项选择效信度...
  7. 《Inter汇编语言程序设计》8.6 创建多模块程序(ENTERN)
  8. android之DEX文件格式
  9. Android半圆形进度条动画,Android:半圆形进度条
  10. 某种草电商App签名算法解析(一)