单点登录(SSO)的简单实现

本文介绍了SSO(Single Sign On)的概念,即用户只需登录一次即可访问所有相互信任的应用系统。通过简单的实现原理描述,包括使用Cookie的机制,并详细讲述了如何建立3个项目的流程,包括sso项目、sso_webdemo01和sso_webdemo02业务项目,以及它们之间的交互。文章以实例展示了SSO如何解决企业应用中用户多次登录的问题。
摘要由CSDN通过智能技术生成

最近了解到SSO,以前真心没有了解过,就查了一下,在企业中,或者大的网站都会用到这个技术。

1. 什么是SSO

英文全称:Single Sign On ,单点登录。

SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机

制。它是目前比较流行的企业业务整合的解决方案之一。

目前的企业应用环境中,往往有很多的应用系统,如办公自动化(OA)系统,财务管理系统,档案管理系统,信息查询系统等等。这些应用系统服务于企业的信息

化建设,为企业带来了很好的效益。但是,用户在使用这些应用系统时,并不方便。用户每次使用系统,都必须输入用户名称和用户密码,进行身份验证;而且应用系统不同,用

户账号就不同,用户必须同时牢记多套用户名称和用户密码。特别是对于应用系统数目较多,用户数目也很多的企业,这个问题尤为突出。问题的原因并不是系统开发出现失误,

而是缺少整体规划,缺乏统一的用户登录平台,使用SSO技术可以解决以上这些问题。

总之,通俗点儿说,使用SSO,一次登录,可以使用所有的系统。

2. SSO的基本实现原理

从网上查资料,简单的画了个图,最简单的实现吧,使用了Cookie。



3. 简单实现

首先, 我们需要建3个项目 sso项目,sso_webdemo01业务项目和sso_webdemo02业务项目。

3个项目中好多代码都是重复的,这里就直接复制了


3.1 sso项目

SSOAction

简单的实现了验证操作,

package org.ygy.sso.action;

import java.io.IOException;
import java.util.Map;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;

import lombok.Data;
import lombok.EqualsAndHashCode;

import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import org.ygy.sso.entity.UserEntity;

import com.opensymphony.xwork2.ActionSupport
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值