首页 > 其他分享 >sso-单点登录

sso-单点登录

时间:2024-05-09 21:11:49浏览次数:20  
标签:单点 cn 登录 server sso client cxd

单点登录

项目组成

基于spring-boot-2.1.8.RELEASE,使用redis完成完成 session记录。

  • sso-base
  • sso-server
  • sso-client1
  • sso-client2

    sso-base

  • TokenFilter: 拦截获取是否登录,并获取登录用户设置到线程变量中
  • TokenUtil:从redis获取指定key判断是否登录,以及登录用户;写入sessionId和sessionIdKey
  • ClientTokenProperties: client需要的配置项
    1. serverLoginUrl, server登录url
    2. login请求的username 和 password,用于向server端登录
    3. redisAddr, 读取sessionId和sessionIdKey,userPOValue
  • ServerTokenProperties:server需要的配置项
    1. redisAddr, 写入sessionId和sessionIdKey,userPOValue
    2. expiredSeconds, 过期时间
  • SSOConfig,加入需要的bean
    1. RedisProperties,使用自定义的redis配置项,完成 RedisProperties配置
    2. RedisTemplate,提供模板方法

    sso-client1

  • ClientFilterConfig, 配置FilterRegistrationBean,使用TokenFilter拦截所有请求
  • ClientController, web接口

    配置项:

    server.port=1001
    
    cn.cxd.sso.client.redisAddr=localhost:6379
    cn.cxd.sso.client.serverLoginUrl=http://localhost:1000/server/login
    cn.cxd.sso.client.login.username=root
    cn.cxd.sso.client.login.password=root
    

    sso-client2

    同 sso-client1

    server.port=1002
    
    cn.cxd.sso.client.redisAddr=localhost:6379
    cn.cxd.sso.client.serverLoginUrl=http://localhost:1000/server/login
    cn.cxd.sso.client.login.username=root
    cn.cxd.sso.client.login.password=root
    

    sso-server

  • LoginController, 登录接口,生成sessonId,使用TokenUtil,写入sessionId和sessionIdKey
    cn.cxd.sso.server.expiredSeconds=1000
    cn.cxd.sso.server.redisAddr=localhost:6379
    server.port=1000
    

    整体效果

  • server登录后,client1,client2 都能在正确访问各自的web接口
  • client1/client2登录后,两个client都能正确访问各自的web接口
  • client1/client2登录后,server再登录,client1/client2 都可以正确访问各自的web接口

    api

    server

  • http://localhost:1000/server/login
  • POST
  • { "userName" : "root11", "password" : "root11" }

    client1

  • http://localhost:1001/client1/mydata
  • GET

    client2

  • http://localhost:1002/client2/mydata
  • GET

    访问时序图


    架构图

  • 标签:单点,cn,登录,server,sso,client,cxd
    From: https://www.cnblogs.com/ITket/p/18183079

    相关文章

    • CSDN复制登录复制问题
      不能复制主要有两个问题,第一个问题是选中问题,第二个问题主要指copy也就是复制时会弹出登录页面1.解决选中问题:按F12打开html代码=》上边栏点击  </>元素 ->head->第四个style->右键,删除元素 2. 第二个问题主要指copy也就是复制时会弹出登录页面在不能......
    • [鸟哥私房菜]4.首次登录与在线求助
      第4章首次登录与在线求助4.1.3XWindow与命令行模式的切换通常我们称命令行界面为终端界面、Terminal或Console。Linux默认的情况下会提供六个终端(Terminal)来让用户登录,切换的方式为使用:[Ctrl]+[Alt]+[F1]~[F6]的组合按钮。其中[Ctrl]+[Alt]+[F1]为图形用户界......
    • lesson2
      单词equalv等于Nobodyequalshiminstrength.Nobodymatcheshiminstrength.equaln相提并论的人或物InEnglishshehasnoequalinherclass.beheadandshouldersabovesb鹤立鸡群equalityn平等racialequalityraise及物v募集/举起/饲养n涨工资rai......
    • uniapp+vue H5页面实现微信公众号授权登录
      <template><viewclass="my-userinfo-container"><!--头像和昵称区域--><viewclass="top-box"><image:src="form.headimgurl"class="avatar"></image>......
    • 登录功能
      整体思路设置欢迎页:设置完欢迎页之后,tomcat启动后会自动跳转到欢迎页而不是index.jsp登录的整体步骤:已经拥有前端页面:login.jsp,登录成功,跳转到业务主页面,登录失败输出提示信息,回到登录页面编写Dao层:接口和实现类,它的作用是从数据库中获取登录的用户//通过userCod......
    • lesson1
      单词court法庭settlesthoutofcourt私了accumulate/amassv积累amasspossessions积累财富pileup/collect/gather/hoard越积越多Meanwhile,thetraficpiledupbehind.Shenzhenrealestatedevelopershoardlagrgeamountsofland.obligev使...感到必须be......
    • python+selenium+excel自动登录,自动填写网页
      经常有些网页要登录,然后频繁填写一些重复的内容,本文暂只考虑不需要验证码的情况,可以通过selenium模拟用户行为在页面操作,用excel拖出相似内容,用xlrd读取并填写到网页中。导入相关包fromseleniumimportwebdriverimportosimportxlrdimportxlwtimportjsonimportreq......
    • 使用Selenium做网站登录的免验证
      我发现,我已经三年多没有更新博客了。这几年一直感觉没什么可写的,工作上没遇到的问题python的不多,主要是前端页面上遇到的问题,感觉写起来比较困难,一写就要贴上去很多代码,还没什么必要,不贴又说不明白,所以干脆不写了。 今年换了工作,开始研究新玩意儿了——爬虫。俗话说,爬虫爬得好,......
    • vCenter 7.3 证书过期无法登录处理方法
      ​ 登录报错:如下图Exceptionininvkingauthenticationhandler[SSL:CERTIFICATE_VERIFY_FAILED]certificatevertifyfailed:certificatehasexpired(_ssl.c:1076)​ 处理方法1:推荐,可行登录vCenter控制台,Alt+F3切换至命令行模式,使用root登录,更改系统时间为过期前时......
    • (VKL系列)超低功耗LCD液晶显示驱动IC-VKL76 SSOP28,19*4 76点阵,超低工作电流约7.5微安,
      VKL076概述:VKL076是一个点阵式存储映射的LCD驱动器,可支持最大76点(19SEGx4COM)的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据,可配置4种功耗模式,也可通过关显示和关振荡器进入省电模式。其高抗干扰,低功耗的特性适用于水电气表以及工控仪表类产品。功能特点:•  工......