首页 > 其他分享 >单点登录<四>----satoken

单点登录<四>----satoken

时间:2023-12-14 13:35:39浏览次数:30  
标签:单点 登录 satoken 接口 ---- sso 模块 权限

SSO-Server端:处理所有SSO相关请求

  1. http://{host}:{port}/sso/auth -- 单点登录授权地址,接受参数:redirect=授权重定向地址
  2. http://{host}:{port}/sso/doLogin -- 账号密码登录接口,接受参数:name、pwd
  3. http://{host}:{port}/sso/checkTicket -- Ticket校验接口(isHttp=true时打开),接受参数:ticket=ticket码、ssoLogoutCall=单点注销回调地址 [可选]
  4. http://{host}:{port}/sso/signout -- 单点注销地址(isSlo=true时打开),接受参数:loginId=账号id、secretkey=接口调用秘钥

SSO-client端:处理所有SSO相关请求

  1. /sso/login?ticket=""&back="当前访问页面URL"
    • serverAuthUrl/sso/auth?redirect="当前服务器登录页面URL"?back="当前访问页面URL"
    • serverAuthUrl/sso/checkTicket?ticket=""&ssoLogoutCall=""
  2. /sso/logout
    -serverLogoutUrl?loginId=""&timestamp=""&nonce=""&sign=""
  3. /sso/logoutCall
  4. /sso/myinfo

总体开发步骤:

  1. [用户模块]初始化环境, 上传git服务器. (这里用的是JDK17)
  2. [单点登录模块]服务端: 整合satoken单点登录内容到系统
    • 梳理原来的鉴权内容
    • 梳理调用的接口以及参数
    • 添加sso 内容
  3. [单点登录模块]客户端: 添加鉴权, 实现各种跳转
  4. [单点登录模块]客户端: 通过接口获取会话信息
    • 服务端暴露接口,先通过appId, 可以创建会话信息到redis 里面(保存什么信息需要重新设计)
    • 服务端暴露接口,先通过appId, 可以获取到redis 信息
  5. [单点登录模块] 单点注销:
  6. [权限模块]自建应用: 建app表,(appId,生成secrrt),
  7. [权限模块]app大盘查询接口:
  8. [权限模块]创建权限表: 关系表(绑定app,角色表)
  9. [权限模块]权限查询接口: (绑定app,角色表), 通过token

测试用例

  1. 自建应用, 可以实现单点登录, 单点登陆
  2. 可以通过userid,appid,secret, 获取是否登录信息
  3. 可以通过userid,appid,secret, 获取token
  4. 可以通过token 获取所有权限信息

标签:单点,登录,satoken,接口,----,sso,模块,权限
From: https://www.cnblogs.com/rainbowbridge/p/17900989.html

相关文章

  • SpringBoot 中使用 Filter
    Filter是JavaEE中Servlet规范的一个组件,位于包javax.servlet 中,它可以在HTTP请求到达Servlet之前,被一个或多个Filter处理。它的工作流程如图:Filter的这个特性在生产环境中有很广泛的应用,如:修改请求和响应、防止xss攻击、包装二进制流使其可以多次读,等等。实际工作中,......
  • 模块与包
    模块什么是模块?模块就是一些列功能的集合体,通常一个py文件就是一个模块。一个Python文件本身就是一个模块,文件名m.py,模块名叫m模块分为三大类1.内置的模块(python解释器自带的模块,直接使用)2.第三方的模块(python社区伙伴们开源提供的python模块,需要下载后使用)3.自定义的......
  • 电路基础笔记1
    电路基础1电流正电荷在电路中的移动方向规定为电流的方向。电流通常用字母“I”表示,单位为安培(简称安),用“A”表示,比安培小的单位有毫安(mA)、微安(μA),它们之间的换算关系为1A=103mA=106μA直流电与交流电直流电是指方向始终固定不变的电压或电流。能产生直流电的电源称为直......
  • 汇编-JG有符号大于则跳转
     .386.modelflat,stdcalloptioncasemap:none.stack4096IncludeIrvine32.incincludelibIrvine32.libExitProcessPROTO,dwExitCode:DWORD.data.codemainPROCmoveax,+10cmpeax,+10jglabel0;有符号大于则跳......
  • python远程关闭liunx计算机并转化成可执行文件exe
    1.安装Python首先,确保您已经安装了Python。访问https://www.python.org/downloads/,下载并安装适合您操作系统的Python发行版。2.安装JupyterNotebook接下来,我们需要在计算机上安装JupyterNotebook。在命令提示符(Windows)或终端(Mac和Linux)中运行以下命令:pipinstalljupyter......
  • 想要在电脑桌面上使用手机便签怎么操作?
    作为一名上班族,我们时常需要在电脑和手机之间同步使用便签,以记录工作、生活中的重要事项。然而,有些时候我们可能更习惯在手机上使用便签,但又希望在电脑桌面上也能够方便地查看和编辑这些便签。那么,如何在电脑桌面上使用手机便签呢?想要在电脑桌面上使用手机便签怎么操作?想要在电脑......
  • MySQL运维4-Mycat入门
    一、mycat概述mycat是阿里巴巴企业下的开源的,基于JAVA语言编写的MySQL数据库中间件,可以像使用MySQL一样来使用Mycat,对于开发人员来说根本感觉不到mycat的存在。之前在国内使用数据库分库分表,读写分离最主流的就是使用mycat,但是截止到今日2023-12-13日,mycat的网站的下载链接......
  • 力扣146 螺旋遍历二维数组
    Problem: LCR146.螺旋遍历二维数组思路多个循环螺旋模拟classSolution{public:vector<int>spiralArray(vector<vector<int>>&array){vector<int>res;intm=array.size();if(m==0){returnres;}......
  • 无涯教程-Java - sin()函数
    该方法返回指定双精度值的正弦值。sin()-语法doublesin(doubled)这是参数的详细信息-d  - 双精度数据类型。sin()-返回值此方法返回指定双精度值的正弦。sin()-示例publicclassTest{publicstaticvoidmain(Stringargs[]){doubledegree......
  • mysql的备份方法详解
    MySQL数据库备份是确保数据安全的重要步骤。有多种备份方法可用,以下是几种常见的MySQL备份方法:1.使用mysqldump命令行工具:mysqldump是MySQL提供的备份工具,通过命令行使用。以下是基本的备份和恢复示例:备份整个数据库:mysqldump-uusername-pdatabase_name>backup.sql......