当前位置: 首页 > news >正文

开源UNI-SOP云统一认证平台

       今天给大家分享一款开源的商用级别认证平台UNI-SOP,这块软件分为开源版本和专业版本,由于专业版涉及到一些代码授权问题,暂时未开源,不过,一般应用开源版本足够了。

        先来看看系统管理平台界面,然后我们再来说说认证的流程和原理。

        登录后的认证中心平台管理界面:

        系统支持多平台多领域用户集管理,这个界面是平台的管理界面,能够增加平台、导出平台资源以及更新平台缓存等功能。

        领域管理界面:

        

        领域界面用来关联用户集的,每个平台需要关联一个领域,标识可以登录此平台的用户集。

        平台资源管理界面:

        平台管理页面主要用来管理关联的领域用户以及平台资源,平台资源包括客户端、菜单、角色、权限、地址、系统字典等,其把我们后台系统公共的资源集中进行管理,让业务平台更专注自己的业务逻辑处理,使得系统开发更高效和稳定。

        用户资源的分配管理界面:

        此页面展示了用户资源的分配,其不仅展示直接分配给用户的资源,还标注了间接分配给用户的资源信息,比较直观、方便。里面的功能还比较多,有时间的小伙伴可以下载源码自己部署进行摸索看看其他功能。

        不过,上面这些页面是专业版的,开源版和这个有些差别。

        除了在统一认证中心可以集中管理平台和用户资源外,我们还提供了前端开发脚手架,可以对单个平台完成自己资源的管理,比如下面这个系统是使用UNI-SOP前端脚手架开发的:

        

        其中标红部分就是平台资源的管理,属于UNI-SOP脚手架的功能,此脚手架采用VUE3+Element Plus开发。下面开始说下认证的一些基本概念。

        用户认证其实包括两部分:认证和授权

        认证就是验证用户的合法性,我们输入的用户名对应的用户是不是系统中合法的用户;授权顾名思义就是登录的用户有哪些可以访问的系统资源(也可以理解为权限,很多系统意思大概相近,在UNI-SOP中权限就是系统资源),在介绍UNI-SOP开源云平台认证系统之前,我们先来说下认证中的相关概念。

        我们先简单看下下面的这张图:

        

        上图包括了五大模块:用户、平台、认证、授权、平台中心。认证其实只和认证模块和用户模块有关,我们先来看看用户认证需要的几大要素:账号、认证信息和用户信息。

        账号:用来唯一识别系统中的用户的基本信息,就是说通过账号信息,我们可以唯一找到系统中的用户信息,注意,这里是唯一,因为这里的用户是一个实体,所以,用户账号和用户信息具有一对一的关系。

        认证信息:用来识别用户合法性的基本信息单位,因为找到了用户,不等于用户可以合法访问我们的系统,因此,需要验证用户的合法性,最常用的认证信息就是密码验证,移动领域手机验证码和微信授权登录也尝尝用来认证一个用户的合法性。

        用户信息:保存系统中用户一系列信息的属性集合,比如用户姓名、性别、地址等等都可以是用户信息,因为用户是一个实体,所以用户一旦创建就拥有实体标识:用户ID,因此,用户ID和用户账号以及认证信息是一对多的关系,但是要注意,用户账号和用户ID必须是一对一关系。

        用户认证完后就有了访问系统的基本条件,但是要访问我们的系统,还不够,需要登录的用户拥有对应的系统资源,这里就是平台模块要管的事情。

        平台模块统一管理了平台信息以及平台所有的资源,比如菜单、角色、权限、地址等等都属于平台的资源,然后,我们把平台的某些资源分配给指定用户,这样用户就可以访问这些资源了,比如我们某些菜单分配给资源,再配合前端展示,用户登录前端系统就可以看到自己分配的菜单了,这就是目前前端系统采用的权限控制,其实,严格来讲,菜单并不等于系统的资源,因为系统资源的粒度会更细。

        有了用户和平台,然后认证模块就可以使用用户模块提供的服务,完成用户的验证,然后生成用户的认证信息,比如访问令牌,登录超时控制等;授权模块利用平台模块提供的服务完成对用户资源的分配,平台中心利用其他四个模块,提供对外的综合服务功能,比如管理多个平台,多套用户集合,配合前端完成平台、用户的管理等操作,基本概念介绍完了,我们看下UNI-SOP的整体设计,下面是其整体设计结构图。

        UNI-SOP一套完整的多平台、多用户集的统一认证系统,其除了基本的用户认证和权限系统外,还集中管理了多平台资源,每个平台在UNI-SOP中都是独立的,拥有的独立的资源;用户采用领域的概念来隔离不同的用户集。每一个领域中的用户都是独立的。

        我们先简单分享到这里,后面再详细说下认证的流程,比如普通登录和单点登录,以及UNI-SOP中提供的功能。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 信息技术的革新与未来趋势
  • nodejs基于vue电子产品商城销售网站的设计与实现 _bugfu
  • 图文组合商标部分驳回后优化后初审通过!
  • 如何在SpringCloud中使用Consul进行服务发现与配置管理
  • 代码随想录Day 53|题目:110. 字符串接龙、105.有向图的完全可达性、106. 岛屿的周长
  • Stable Diffusion绘画 | ControlNet应用-instant-ID控制器:快速生成人物多角度图片
  • 38.重复的子字符串
  • 【网络安全】依赖混淆漏洞实现RCE
  • VuePress搭建文档网站/个人博客(详细配置)主题配置-侧边栏配置
  • 【Paper Reading】结合 NanoFlow 研究,优化大语言模型服务效率的探索
  • python自学笔记
  • go mod文件为啥又两个require
  • LabVIEW提高开发效率技巧----使用LabVIEW工具
  • [c++进阶(九)] STL之deque深度剖析
  • 设计模式七大原则
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 07.Android之多媒体问题
  • codis proxy处理流程
  • echarts的各种常用效果展示
  • ES学习笔记(12)--Symbol
  • HTTP--网络协议分层,http历史(二)
  • isset在php5.6-和php7.0+的一些差异
  • MySQL-事务管理(基础)
  • Python 基础起步 (十) 什么叫函数?
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • 阿里云Kubernetes容器服务上体验Knative
  • 从0实现一个tiny react(三)生命周期
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 前嗅ForeSpider采集配置界面介绍
  • 手写一个CommonJS打包工具(一)
  • 我从编程教室毕业
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • !$boo在php中什么意思,php前戏
  • #define、const、typedef的差别
  • #Linux(make工具和makefile文件以及makefile语法)
  • (13)Hive调优——动态分区导致的小文件问题
  • (4) PIVOT 和 UPIVOT 的使用
  • (7)摄像机和云台
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (ibm)Java 语言的 XPath API
  • (PySpark)RDD实验实战——求商品销量排行
  • (Ruby)Ubuntu12.04安装Rails环境
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (回溯) LeetCode 46. 全排列
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • *1 计算机基础和操作系统基础及几大协议
  • .Net Core 中间件验签
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET8使用VS2022打包Docker镜像
  • .NetCore实践篇:分布式监控Zipkin持久化之殇