请选择 进入手机版 | 继续访问电脑版
  • 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

jeexjj_sso: jeexjj_sso是基于JEEXJJ的一款单点登陆服务实现。可以帮助企业快速搭建单 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

jeexjj_sso

开源软件地址:

https://gitee.com/zhanghejie/jeexjj_sso

开源软件介绍:

JEEXJJ_SSO单点登陆系统简介

  • JEEXJJ_SSO借鉴CAS基于SSM快速开发框架JEEXJJ的一款单点登陆服务实现。可以帮助企业快速搭建单点登陆服务,使用户一次登陆就可以畅游于各互相信任的信息系统。
  • JEEXJJ开发框架,请移步https://gitee.com/zhanghejie/jeexjj

技术栈

技术名称官网
JEEXJJJEEXJJ开发框架https://gitee.com/zhanghejie/jeexjj
thymeleaf页面模板引擎https://www.thymeleaf.org/

实现原理

1.名词解释

  • GrantingTicket:登陆用户的唯一标识票据。(基于cookie实现,简写:GT)

  • ServiceTicket:用户登陆成功后,每访问一个应用信息,都会再为它生成一个st票据。例:如果一个用户登陆了基于sso的三个互相信我任的系统。那么对应该用户总共有1个GrantingTicket,3个ServiceTicket。2.下面通过时序图的方式来介绍sso的登陆验证流程。

  • 登陆窗口在client端的登陆流程如下:

  • 已经登陆sso的用户首次访问某信任系统时的验证流程

  • 单点退出流程

运行步骤

  1. 下载jeexjj_sso项目 https://gitee.com/zhanghejie/jeexjj_sso
  2. 使用jeexjj_sso/doc/db/jeexjj_sso.sql 创建单点登陆服务端的数据库
  3. 分别导入两个maven项目jeexjj_sso_server和jeexjj_sso_client
  4. 分别运行两个项目的Application.java的main方法启动两个项目
  5. 访问服务端项目,登陆后,查看【最近在线用户】菜单,在后台查看客户端登陆情况。http://localhost:8884/sso_server,
  6. 使用浏览器测试单点登陆功能,http://localhost:8885/sso_client
  7. 使用另外一种浏览器测试单点登陆(jsop方式),http://localhost:8885/sso_client/passport/jsonp
  8. 分别在这两个浏览器中直接访问http://127.0.0.1:8885/sso_client/auth/home/,模拟跨域后登陆状态能否保持。

服务端配置介绍(jeexjj_sso_server.properties)

sso.path.authentication=/sso/authentication  #单点登陆验证url,一般默认就行sso.path.signin=/sso/signin                  #单点登陆url,一般默认就行sso.path.signout=/sso/signout                #单点退出url,一般默认sso.path.validateTicket=/sso/validateTicket  #ticket验证url,一般默认sso.url.index=/sso/index.jsp                 #sso.url.login=http://localhost:8884/sso_server  #服务端访问url,根据情况修改sso.cookie.maxage=-1                         #cookie相关,一般默认sso.cookie.name=XJJTCsso.cookie.path=/sso.server.error=ssoerror                    #登陆失败返回参数#unit minutesso.grantingticket.invalidate=300            #GT缓存时间(分钟)#sso project appsso.login.type=project                       #登陆方式#mcmcache config memcache.is.use=false                        #是否使用memcache做为缓存memcache.servers=192.168.54.223\:11211memcache.ticket.expiry=24memcache.user.expiry=120#sso notification type http|rabbitmq         #通知方式(http或rabbitmq)sso.notification.type=http#rabbitmq config test                        #rabbit服务相关rabbitmq.server=192.168.54.204rabbitmq.port=5672rabbitmq.username=adminrabbitmq.password=adminrabbitmq.exchange=sso_topic#### 客户端配置介绍(jeexjj_sso_client.properties)sso.client.sessionHandle=com.xjj.sso.client.session.SessionHandleImpl  #接口实现,客户端实现,sso.client.projectCode=zhj                                             #项目编码,登陆服务端后台添加sso.server.url=http://localhost:8884/jeexjj_sso                        #单点登陆服务地址#sso clientsso.client.receipt=sso.client.receiptsso.client.ssoLogonUrl=/jsp/ssoLogon                                   #单点登陆验证地址,可以修改,对应登陆页面的提交地址。sso.client.loginUrl=/sso/login.jsp                                     #该系统的登陆地址sso.client.login.isredirect=true sso.client.nofilter=/*/bb/*,/*login*                                   #sso排除拦截地址列表,用逗号隔开。#sso server url configsso.server.authentication=/sso/authenticationsso.server.validateTicket=/sso/validateTicketsso.server.ssoLogoutUrl=/sso/signoutsso.server.signin=/sso/signinsso.server.error=ssoerror#sso notification type http|rabbitmqsso.notification.type=http#rabbitmq configrabbitmq.server=192.168.54.204rabbitmq.port=5672rabbitmq.username=adminrabbitmq.password=adminrabbitmq.exchange=sso_topic

运行效果截图

JEEXJJ开源项目

名称地址
快速开发框架https://gitee.com/zhanghejie/jeexjj
小程序商城https://gitee.com/jeexjj/jeexjj_wxmall
VUE仿锤子商城https://gitee.com/zhanghejie/jeexjj_mall
防CAS单点登陆https://gitee.com/zhanghejie/jeexjj_sso

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap