当前位置: 首页 > wzjs >正文

泉州专业建站公司简单网站系统

泉州专业建站公司,简单网站系统,it网站设计,如何提升网站流量一、SSO原理 单点登录(简称 SSO)是一种用户鉴权过程,允许用户在多个应用系统中使用单一的登录凭证(通常是用户名和密码)进行访问。它的基本原理是创建一种中央鉴权机制,用户登录一次后,无需在其…

一、SSO原理

单点登录(简称 SSO)是一种用户鉴权过程,允许用户在多个应用系统中使用单一的登录凭证(通常是用户名和密码)进行访问。它的基本原理是创建一种中央鉴权机制,用户登录一次后,无需在其他系统中再次进行身份验证即可访问这些系统的资源。

二、SSO方案有哪些

方案一:OAuth 2.0

如果使用 OAuth 2.0
1、添加相应的依赖到你的 pom.xml 或 build.gradle 文件。
2、配置安全性(安全上下文、认证管理器、用户详细信息服务等)。
3、使用 @EnableOAuth2Sso 或 @EnableOAuth2Client 注解启用 OAuth2 SSO 支持。

方案二:CAS (Central Authentication Service):

如果使用 CAS 作为 SSO 服务器:
1、添加 Spring Security CAS 的依赖和其他必要的 CAS 客户端库。
2、配置安全性,包括 ServiceAuthenticationDetailsSource 和 CasAuthenticationProvider。
3、设置你的 Spring Security 配置,加入 CAS 针对的 Filter。
4、配置 application.properties 或 application.yml 以连接到 CAS 服务器。

关键流程说明
  1. 首次访问系统A
    • 浏览器 → 系统A → 重定向到认证中心 → 登录页
    • 登录成功 → 返回带Token的URL → 系统A验证Token → 建立本地会话
  2. 访问系统B时
    • 浏览器 → 系统B → 重定向到认证中心
    • 认证中心发现已有登录状态 → 直接返回Token → 系统B验证 → 建立会话

三、代码案例

1.环境准备

  • SSO认证中心服务( www.mysso.com)
  • 客户端1(www.myclient1.com)
  • 客户端2(www.myclient2.com)

由于是Demo实例,这里若有要访问-需要修改一下本机host,添加如下映射

 127.0.0.1 www.mysso.com127.0.0.1 www.myclient1.com127.0.0.1 www.myclient2.com

2.搭建SSO认证中心服务

搭建一个SSO统一登录需要的功能
主要接口:
1、登录(/login):用户登录并生成SSO令牌。
2、校验令牌(/checkToken):客户端系统校验SSO令牌的合法性。
3、检查登录状态(/checkLogin):检查用户是否已登录,决定是否跳转到登录页面或目标系统。

  • 统一登录页+接口
  • 校验令牌有效性接口(调用来源:子系统)
  • 校验登录状态接口(调用来源:子系统)
  • 统一退出(调用来源:子系统或退出认证中心服务)
2.1、定义一个统一的登录页
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>SSODemo</title>
</head>
<style>body.center {text-align: center;
}
</style>
<body class="center">
<div><h1>SSO用户统一登录</h1>
</div>
<div><form name="loginForm" action="/sso/login" method="POST" accept-charset="UTF-8"><div><input placeholder="用户名" value="admin" name="username" type="text"/></div><div><input placeholder="密码" value="123456" name="password" type="password"/></div><div style="color: red"><span th:text="${msg}"></span></div><div><input name="redirectUrl" type="hidden" th:value="${redirectUrl}"/></div><input type="submit" value="登录"/><input type="reset" value="重置"/></form>
</div>
</body>
</html>

效果图:
在这里插入图片描述

2.2统一登录接口

使用的 session存储登录信息
在这里插入图片描述

2.3校验令牌接口

在跳转到子系统后会携带令牌token,这时候需要调用以下接口来校验token的有效性
以下接口一共做了2件事情
1、校验token是否有效
若有效-则记录了注册上来的子系统信息,用于统一注销时候使用
在这里插入图片描述

2.4校验登录状态接口

当令牌校验返回失败时,子系统需要调用此接口
在这里插入图片描述

2.5统一退出接口

在这里插入图片描述
退出监听,当统一认证中心session销毁时,同时注销子系统
在这里插入图片描述

3.搭建客户端服务

开始搭建一个客户端

  • 拦截请求
  • 请求认证中心校验令牌有效性
    (1)有效则创建局部会话
    (2)无效则继续请求认证中心登录
  • 注销系统-请求认证中心统一注销
3.1核心请求拦截器实现

在这里插入图片描述
在这里插入图片描述

4.源码实例测试

由于是Demo实例,这里需要访问-需要修改一下本机host,添加如下映射

 127.0.0.1 www.mysso.com127.0.0.1 www.myclient1.com127.0.0.1 www.myclient2.com

添加好本机host映射后-分别启动
sso-server 域名使用内网域名(www.mysso.com:8081)
sso-client1 域名使用内网域名(www.myclient1.com:8082)
sso-client2 域名使用内网域名(www.myclient1.com:8083)
在这里插入图片描述

4.1 客户端1登录
4.1.1在浏览器端访问 www.myclient1.com:8082

由于没有登录过任何一个系统,也没有全局会话,所以会跳转到统一认证中心进行登录,可以查看到redirectUrl就是我们要访问的www.myclient1.com:8082
在这里插入图片描述
在这里插入图片描述

4.2 客户端2登录

由于客户端1已经登录,也就是说已经存在全局会话了,那么在访问客户端2的时候,其实无需登录的,只需要认证中心将最新的ssoToken携带过来就可以了。浏览器输入 www.myclient2.com:8083
在这里插入图片描述

5.总结

SSO实现原理可以归纳于生活中的例子来进行比喻:
想象你去了一个大型游乐园,这个游乐园里有很多不同的游乐设施(比如过山车、摩天轮、鬼屋等)。每个设施都需要单独检票才能进入。如果没有SSO,你需要每次玩一个新设施时都出示门票,甚至可能需要重新买票,非常麻烦。
而SSO的作用就像是一张游乐园通票 ,你只需要在入园时检票一次,之后就可以随意玩所有设施,无需重复检票。

http://www.dtcms.com/wzjs/824105.html

相关文章:

  • 用帝国软件做网站的心得百度下载官方下载安装
  • 服装网站的建设背景成都微网站设计
  • 建筑公司网站案例宣传画册
  • 网站开发的成品vi设计理念和设计思路
  • 新手网站建设教程图书建设个人网站需要备案吗
  • 开发东莞网站制作公司协会网站建设需要注意什么
  • 厦门市建设路网站宜昌网站模板
  • 网站建设合同英文模板下载wordpress 数字不连续
  • 华丽的网站模板可信赖的菏泽网站建设
  • 大型网站开发框架有哪些做信贷抢客户网站
  • 哈尔滨企业自助建站廊坊网站建设制作电话
  • 商城网站页面模板郑州网站建设知名公司
  • 免费建站哪个好淄博烧烤的网络营销方式
  • 网站开发团队人员淘宝网页版怎么注销账号
  • 菜鸟建站网广东网站开发搭建
  • wordpress 播客网站湖北网站建设推荐
  • 网站编程入门教程一个网站多久能做完
  • 小说投稿赚钱的网站怎样找回网站备案密码
  • 做网站百度推广多少钱罗湖做网站运营乐云seo
  • 网站开发业务方向架构文档网站设计报价表
  • 恺策网优 营销型网站建设品牌服务商美化wordpress后台
  • 棋牌类网站怎么做南充市建设局网站
  • 集团微信网站方案策划网站的规划与设计
  • 成都网站建设大公司昆明网站制作内容
  • 做一个网站开发项目有哪些阶段云南省住房和建设执业资格注册中心网站
  • window2003iis建好的网站电商十大运营平台
  • 深圳机票网站建设佛山网站建设公司电话
  • 江门网站推广公司设计培训网页版
  • 如果将域名指向网站wordpress主题手机端
  • 房地产网站互动设计公司杭州产品网络推广方案