UNI-SOP使用说明

news2024/9/27 5:55:30

        UNI-SOP提供了两个集成客户端:SpringBoot2.x/JAVA1.8和SpringBoot3.x/JAVA17,满足不同项目的集成需求。

  • 平台接入

        使用UNI-SOP之前,业务平台需要进行接入,完成校验后才能正常使用,先引入客户端开发SKD包。

<dependency>
     <groupId>licode.unisop.client</groupId>
     <artifactId>uni-client-20</artifactId>
     <version>1.0.0</version>
</dependency>

        SpringBoot2.x的项目就引入20版本的客户端,如果是SprintBoot3.0就引入30版本的,引入依赖包后,还需要配置注册的平台信息(需要把业务平台注册到UNI-SOP认证中心),在application.yml文件里配置如下信息:

uni-sop:
  host: http://localhost:5801
  platform:
    registers:
      - { id: efaa79946774c60db282, secret: 28f52fdcb1502b67925543d591f5b92a }
      - { id: ea817e210587c4c36ed1, secret: 15ea93f7392c75b626fd0978c8d5b9e3 }

        配置比较简单,说明如下:

        host:UNI-SOP认证中心地址;

        platform: 

                registers: 需要注册到认证中心的平台信息。

        一个业务工程可以注册多个UNI-SOP管理的平台信息,这样有个好处就是,我们一个项目工程可以实现多个逻辑上的业务平台,一般对应到前端就是有多个。

        配置好后,启动项目就会自动注册到UNI-SOP认证中心了,提供的认证中心客户端JAR包实现了自动检测平台注册功能,还有一套操作认证中心的接口,平台注册成功后会在控制台打印类似如下信息:

        上面显示我们商城项目单体部署(商家、运营和商城),每个业务平台向认证中心注册的信息结果。

        集成客户端后会提供如下对外接口:

        这样,业务平台自动就有了操作UNI-SOP的接口功能,不需要业务平台再额外开发,可以直接提供给前端调用。

  • 普通登录

        普通登录是相对于单点登录而言,每次登录没有对应的会话令牌,只有独立的访问令牌,普通登录代码如下:

    // 开始请求后端接口登录
    const loginContext: any = {
        category: 'account',             // 账号类型为account
        authType: 'password',            // 认证类型为密码
        username: 'licode',              // 账号名称为licode
        account: 'licode',
        authCode: 12312sdfsdfsdf3131,    // MD5加密的密码
        authContext: "xxx平台",          // 业务上下文(登录成功后原样保存) 
    }
    const result = await userLogin(loginContext);

        上述代码是一个标准的普通登录,比较简单,登录的地址为:

/uni-api/v1/auth/login

        此地址是集成UNI-SOP客户端自动就有的,不用业务平台自己开发。

        登录成功后返回的结果有用户信息和生成的认证信息(访问令牌和刷新令牌等),这样我们就完成了登录,然后就可以使用系统,是不是很简单。

  • 单点登录

        单点登录相比普通登录稍微复杂一些,不过也比较简单,UNI-SOP平台本身实现了统一管理中心,单点登录就是利用UNI-SOP的统一管理中心来完成的。

        第一步,业务前端系统先重定向到UNI-SOP平台统一认证中心,代码如下:

http://localhost:6020?platform='xxx'&client_id='xxx'&client_secret='xxx'

        重定向的时候带上平台ID、客户端ID和客户端秘钥就可以了。

        第二步,UNI-SOP平台统一认证中心输入用户名、密码完成验证后,生成票据ticket;

        第三步,UNI-SOP平台统一认证中心根据业务平台配置,重定向到业务平台指定的验证地址;

        第三步,流程重新回到了我们业务前端平台,前端平台利用ticket码调用认证中心的如下接口:

/uni-api/v1/auth/token

        来换取用户的登录认证信息,这样就完成一次完整的单点登录流程。

  • 用户资源获取

        登录用户,WEB前端需要获取用户可用的资源,包括角色、权限、菜单等,这样前端就可以根据用户拥有的资源来完成对应的操作,从而实现权限的控制,获取资源接口如下:

/uni-auth/v1/token/auth-user-assets

        返回结果类型如下:

       

        包含了角色码、菜单和权限码信息,前端可以根据用户拥有的资源完成权限控制,后台同样也会根据用户权限完成用户对相应接口的访问控制,后面会介绍业务后台接口怎么样完成权限访问控制使用。

  • 登录信息查看

        登录的用户我们可以在UNI-SOP认证管理中心查看,而且可以对用户完成强制退出以及对整个会话强制退出等管理功能,当然,这些操作需要有对应的权限才能完成,用户登录信息如下:

        从上面我们可以直观看到用户登录了哪些平台,从哪些终端进来的,多久会超时,一目了然,非常方便。

  • 业务后台权限控制

        业务后台如果没有对应资源权限的控制,那么是不完整的,UNI-SOP对于业务后台资源权限的控制比较简单,直接采用注解的方式即可完成(当然也可以自己调用代码完成,不过,操作没有注解来得简单直观),代码如下:

        

        一个HasAuthority注解就搞定,而且此注解支持SpringBoot方式的配置读取的,非常方便。其同时支持权限和角色的权限访问控制,比如上面的权限控制逻辑为:拥有角色system:admin或拥有权限mall:activity:add的用户可以访问此接口。

        这就是一个使用UNI-SOP的基本的最简单的流程,当然,UNI-SOP还支持由业务平台完成对用户的验证,然后由UNI-SOP完成认证信息的生成和管理等高级功能,支持业务各种复杂场景的使用,后面会进行介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2164085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UE4_后期处理七—仿红外线成像效果

效果图展示&#xff1a; 参考文档&#xff1a;https://dev.epicgames.com/documentation/zh-cn/unreal-engine/using-fresnel-in-your-unreal-engine-materials?application_version5.4 二、所用知识点扩充 在创建电影或过场动画时&#xff0c;你常常需要想办法更好地突显角…

追寻红色足迹,徐特立⾰命事迹连环画展在京举办

他是⽑泽东和⽥汉的⽼师&#xff0c;⽑泽东曾称赞他“坚强的老战士”&#xff1b;周恩来称赞他是“⼈⺠之光&#xff0c;我党之荣”&#xff1b;党中央评价他“对⾃⼰是学⽽不厌&#xff0c;对别⼈是诲⼈不倦”&#xff0c;他就是⽆产阶级⾰命教育家徐特⽴。 徐特⽴&#xff0c…

骨传导耳机哪个牌子最好用?实测五大实用型骨传导耳机分析!

在快节奏的现代生活中&#xff0c;耳机已成为我们不可或缺的伴侣。无论是在通勤路上、运动时&#xff0c;还是在安静的图书馆&#xff0c;耳机都能为我们提供一片属于自己的音乐天地。然而&#xff0c;长时间使用传统耳机可能会对听力造成损害&#xff0c;尤其是在高音量下。因…

FineReport决策报表中添加声音报警

JS实现决策报表中添加声音报警 JS实现为报表页面添加提示声音 HTML实现声音播放 本次操作参考以上第一个链接 1、添加报表块 report0 2、添加内容 <audio id"music1" src"../../help/alarm.mp3" controls"controls" loop"loop"…

物联网将如何影响全球商业?

互联网使人们能够交流&#xff0c;企业能够全天候不间断地跨洋跨洲持续运营。它重塑、颠覆并催生了新的产业&#xff0c;改变了人类与世界互动的方式。互联网曾经仅仅是一种方便、快捷、廉价的向世界各地发送信息的方式&#xff0c;而现在&#xff0c;只需打开或关闭任何连接到…

频谱分析仪:射频领域的多面手

频谱分析仪&#xff0c;作为射频领域的中心工具&#xff0c;其重要性不言而喻。它主要分为实时分析式和扫频式两大类&#xff0c;各自以其独特的方式在信号处理领域发挥着关键作用。实时分析式频谱仪能够即时捕获并分析非重复性、持续时间极短的信号&#xff0c;为科研人员提供…

Prometheus学习笔记(一)

一、简介 Prometheus是一款开源的监控系统&#xff0c;用于监控系统的各项指标参数&#xff0c;让开发运维人员能更好的掌控系统的运行状态。是云原生计算基金会项目&#xff0c;是一个系统和服务监控系统。它以给定的时间间隔从配置的目标收集指标&#xff0c;评估规则表达式…

YOLOv5物体检测

一、环境安装 1.1、anaconda安装 &#xff0c;根据官方地址一步步安装&#xff0c;此略过。 https://www.anaconda.com/download创建虚拟环境 conda create -n yolov5 python3.8配置国内源&#xff0c;加速下载 &#xff08;可选&#xff09; pip config set global.index…

在 Docker 中进入 Redis 容器后,可以通过以下方法查看 Redis 版本:

文章目录 1、info server2、redis-cli -v 1、info server [rootlocalhost ~]# docker exec -it spzx-redis redis-cli 127.0.0.1:6379> auth 123456 OK 127.0.0.1:6379> info server # Server redis_version:6.2.6 redis_git_sha1:00000000 redis_git_dirty:0 redis_bui…

kubernetes K8S 挂载分布式存储 ceph

目录 一、Ceph简介 二、Ceph核心组件介绍 三、安装Ceph集群 1初始化实验环境 1.1、配置静态IP&#xff1a; 1.2、配置主机名&#xff1a; 1.3、配置hosts文件&#xff1a; 1.4、配置互信 1.5、关闭防火墙 1.6、关闭selinux 1.7、配置Ceph安装源 1.8、配置时间同步 …

应用数据安全

一、数据安全概述 应用的安全性是一个应用能否成功的关键。 HarmonyOS提供了系统安全、IDE/工具安全以及应用安全生态等三个层面的安全能力。 1、系统安全层面 HarmonyOS通过完整性保护、漏洞防利用、安全可信环境等安全防护技术&#xff0c;从架构上支持了应用的安全运行&…

WebGIS开发四大开源框架对比

本篇文章主要介绍GIS开发四大地图框架的差异和特点。 Cesium: Cesium是目前主流的一款三维地图框架&#xff0c;支持桌面端、web端、移动端等多平台。Mapbox&#xff1a;高清经纬度矢量瓦片&#xff0c;个性化前端表达&#xff0c;前端矢量绘制&#xff0c;支持海量地名地址。…

小白学大模型:自定义信息抽取Agent

自然语言处理&#xff08;NLP&#xff09;是人工智能和语言学领域的分支&#xff0c;它致力于使计算机能够理解、解释和生成人类语言。信息抽取和信息生成是NLP中的两个基础任务&#xff1a; 信息抽取是从文本中自动识别出结构化信息的过程。这些信息通常是实体&#xff08;如人…

APO的告警关联和告警故障影响面功能介绍

一般IT系统都会配置一系列告警来提醒运维或开发人员&#xff0c;系统存在问题。将告警进行分类之后&#xff0c;至少会有以下种类的告警&#xff1a; 系统运行资源告警&#xff08;CPU、内存、磁盘&#xff09; 网络质量告警Kubernetes事件告警应用级别告警&#xff08;延时、错…

Java项目: 基于SpringBoot+mybatis+maven中小型医院网站管理系统(含源码+数据库+开题报告+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven中小型医院网站管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、…

逻辑回归函数求导过程自推 LaTex 语法

背景 之前对逻辑归回函数求导过程进行过推导&#xff0c;当时不会用公式编辑&#xff0c;直接在纸上手动推导的&#xff0c;再重写一下&#xff0c;顺便回顾一下数学知识。 逻辑回归函数 逻辑回归的数学函数表达式为&#xff1a; g ( z ) 1 1 e − 2 g(z)\frac{1}{1e^{-2…

光控资本:国企改革概念股是什么意思?

国企改革概念股是指与国有企业改革相关的上市公司股票。 这些国企获益于国企改革方针&#xff0c;并有望在改革进程中完结企业运营结构优化、企业竞争力加强、运营效果添加、股票估值提高。相关国企股票的商场表现通常会遭到国企改革方针开展、企业改革成效、商场全体行情等多…

轻松编排工作流,浅谈DolphinScheduler如何使用Python调用API接口?

最近&#xff0c;在做某大型零售企业项目时&#xff0c;有客户用到DolphinScheduler&#xff0c;并咨询是否可以用Python脚本编排工作流&#xff1f;该如何实现&#xff1f;相信有很多人会有这样的疑问&#xff0c;那么&#xff0c;本文将为我们简单分享DolphinScheduler的优势…

2024骨传导耳机品牌推荐!深度实测五大超值尖货!

作为一位有着十余年数码测试经验的博主&#xff0c;近期经常收到粉丝朋友询问哪款骨传导耳机值得入手之类的问题&#xff0c;骨传导耳机作为当下非常热门的蓝牙机型&#xff0c;拥有不入耳佩戴更健康舒适等问题&#xff0c;那么在本次的耳机选购课堂中&#xff0c;主要想跟大家…

Craft:年度 Mac 应用,卡片式笔记新星

今年的年度 Mac 应用大奖颁给了Craft&#xff0c;这是一款集笔记、文档和个人管理于一体的独特工具。Craft 最大的亮点在于其卡片式的交互设计&#xff0c;这种设计让信息组织变得更加直观且高效。 尽管它仅上线了一年时间&#xff0c;但已经展现出了不输于许多老牌笔记应用的…