多平台统一管理软件接口,如何实现多平台统一管理软件接口
998
2023-02-19
本文目录一览:
理论知识
在此之前需要学习和了解一些前置知识包括:
要完成的目标
基于此目标驱动,本文设计三个独立服务,分别是:
多模块(Multi-Module)项目搭建
三个应用通过一个多模块的 Maven项目进行组织,其中项目父 pom中需要加入相关依赖如下:
项目结构如下:
项目结构
授权认证中心搭建
授权认证中心本质就是一个 Spring Boot应用,因此需要完成几个大步骤:
即让授权中心服务启动在本地的 8085端口之上
这里创建了一个用户名为codesheep,密码 123456的模拟用户,并且赋予了 普通权限 (ROLE_NORMAL)和 中等权限 (ROLE_MEDIUM)
这里做的最重要的两件事: 一是 定义了两个客户端应用的通行证(sheep1和sheep2); 二是 配置 token的具体实现方式为 JWT Token。
客户端应用创建和配置
本文创建两个客户端应用:codesheep-client1 和codesheep-client2,由于两者类似,因此只以其一为例进行讲解
复杂的东西都交给注解了!
这里几项配置都非常重要,都是需要和前面搭建的授权中心进行通信的
此测试控制器包含三个接口,分别需要三种权限(ROLE_NORMAL、ROLE_MEDIUM、ROLE_ADMIN),待会后文会一一测试看效果
实验验证
首先用浏览器访问客户端1 (codesheep-client1) 的测试接口:localhost:8086/normal,由于此时并没有过用户登录认证,因此会自动跳转到授权中心的登录认证页面:http://localhost:8085/uac/login:
自动跳转到授权中心统一登录页面
输入用户名 codesheep,密码 123456,即可登录认证,并进入授权页面:
授权页面
同意授权后,会自动返回之前客户端的测试接口:
自动返回客户端接口并调用成功
此时我们再继续访问客户端1 (codesheep-client1) 的测试接口:localhost:8086/medium,发现已经直接可以调用而无需认证了:
直接访问
由于 localhost:8086/normal 和 localhost:8086/medium要求的接口权限,用户codesheep均具备,所以能顺利访问,接下来再访问一下更高权限的接口:localhost:8086/admin:
无权限访问
好了,访问客户端1 (codesheep-client1) 的测试接口到此为止,接下来访问外挂的客户端2 (codesheep-client2) 的测试接口:localhost:8087/normal,会发现此时会自动跳到授权页:
由于用户已通过客户端1登录过_因此再访问客户端2即无需登录_而是直接跳到授权页
授权完成之后就可以顺利访问客户端2 (codesheep-client2) 的接口:
顺利访问客户端2的接口
这就验证了单点登录SSO的功能了!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~