正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。
1.可在同一应用服务器内共享方法:设置cookie.setPath("/");
本机tomcat/webapp下面有两个应用:cas和webapp_b,
1)原来在cas下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。
2)若在cas下面设置cookie的时候,增加一条cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面获取到cas设置的cookie了。
3)此处的参数,是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath("/webapp_b/");是指cas应用设置的cookie只能在webapp_b应用下的获得,即便是产生这个cookie的cas应用也不可以。
4)设置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的时候,只有在webapp_b/jsp下面可以获得cookie,在webapp_b下面但是在jsp文件夹外的都不能获得cookie。
5)设置cookie.setPath("/webapp_b");,是指在webapp_b下面才可以使用cookie,这样就不可以在产生cookie的应用cas下面获取cookie了
6)有多条cookie.setPath("XXX");语句的时候,起作用的以最后一条为准。
6)设置多个path的方法???
2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com");
A机所在的域:home.langchao.com,A有应用cas
B机所在的域:jszx.com,B有应用webapp_b
1)在cas下面设置cookie的时候,增加cookie.setDomain(".jszx.com");,这样在webapp_b下面就可以取到cookie。
2)这个参数必须以“.”开始。
3)输入url访问webapp_b的时候,必须输入域名才能解析。比如说在A机器输入:http://lc-bsp.jszx.com:8080/webapp_b,可以获取cas在客户端设置的cookie,而B机器访问本机的应用,输入:http://localhost:8080/webapp_b则不可以获得cookie。
4)设置了cookie.setDomain(".jszx.com");,还可以在默认的home.langchao.com下面共享。
5)设置多个域的方法???
最近的工作经常用到cookie,看了一些资料,虽然原来依赖cookie比较多的方案已经改成现在这个了,但是当时看得一些东西还是最好记下来,免得过些天就一干二净了,怪可惜的。老梁说过这样的文字最好不要是纯文本的,说得是。本来就已经很抽象了,最好弄点图表,就算用123列出来也好
分享到:
相关推荐
基于Cookie的SSO中间件,如标题所提及的"Cookie SSO",在Java Web开发中被广泛使用,因为它能够简化用户的登录流程,提高用户体验,同时在多应用环境中提供了统一的身份管理。 Cookie是Web应用程序在用户浏览器上...
本项目提供基于Java的Cookie单点登录(SSO)中间件kisso的源码和低代码组件库,涵盖146个文件,主要包括130个Java源代码文件、2个Markdown文档、2个Gradle构建脚本、2个属性文件以及相关配置和管理文件。该中间件...
Kisso是一个基于Cookie的轻量级SSO中间件,它简化了SSO的实施过程,尤其是对于那些不熟悉复杂认证流程的开发者来说,Kisso的低代码特性使其变得更加友好。 Kisso的工作原理大致如下: 1. 用户首次访问系统A时,...
在基于Cookie的二级域名下跨域共享SSO实现中,核心概念是利用Cookie的特性来实现用户身份的共享与传递。 首先,我们了解SSO的工作原理。当用户首次访问一个应用系统(例如,`app1.example.com`)时,如果用户尚未...
概述nginx-sso通过创建会话cookie sso来工作。 该cookie包含有关用户,其会话的到期日期以及登录的客户端IP的信息。此外,该cookie包含ECDSA签名,该签名在登录期间保护有效负载的完整性。 在我们的例子中, ...
在这个项目中,我们利用SpringBoot框架来实现基于Cookie的SSO。下面将详细解释这个项目的实现原理、流程以及涉及的关键技术。 一、SpringBoot与SSO结合 SpringBoot以其简洁的配置和强大的功能深受开发者喜爱,是...
基于Cookie的Web身份验证和单一登录系统,用于单个域下的大型Intranet,其中许多不受信任的人运行自己的Web服务。 服务器使用仅适用于客户端浏览器和始终受SSL保护的idcheck网络服务器的私有cookie。 除了对所有内容...
这些URL看起来是用于SSO服务端进行Cookie设置的接口。数组的元素包括如`http://passport.a.com/main/setCookie.do?domain=`等,后面跟随着不同的域名,表明该脚本旨在为多个不同域设置Cookie。 接着,脚本通过`eval...
在本“sso-user-cookie.zip”压缩包中,提供的是一个基于Cookie实现的SSO单点登录的示例。下面将详细介绍这个Demo所涉及的关键知识点。 1. **Cookie原理**: - Cookie是Web服务器在用户的浏览器上存储的小型文本...
在本文中,我们将深入探讨如何使用Struts2框架结合Cookie技术实现SSO。Struts2是Java企业级应用中广泛使用的MVC(Model-View-Controller)框架,它提供了丰富的特性和插件,使得SSO的实现更加便捷。 首先,我们需要...
java java 基于 Cookie 的 SSO 中间件 kisso.zip
在这个项目中,我们将深入探讨如何利用Redis或Memory Cache以及cookie来实现SSO。 首先,SSO的核心理念是让用户在访问多个相互关联的应用时只需要登录一次,之后就能在这些应用间自由切换,无需重复认证。这对于...
标题 "jforum与web项目的整合(通过Cookie实现SSO)" 涉及的是将开源的JForum论坛系统与其他Web应用程序进行集成,并利用Cookie技术实现单点登录(Single Sign-On,简称SSO)。SSO允许用户在一个应用系统中登录后,...
Kisso 是一个基于 Java 的轻量级 SSO 中间件,它专注于实现基于 Cookie 的身份验证和授权机制。Kisso 的核心特性在于它的低代码特性,这意味着开发者可以快速地集成和配置,减少了大量自定义代码的需求。 **Kisso ...
SSO单点登录解决方案 SSO(Single Sign-On)单点登录解决方案旨在提供一个统一的身份验证入口,满足集团多个成员网站的身份验证需求。该方案的主要目标是实现单点登录,提高用户体验,降低成员网站的登录负载,并...
单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制,允许用户在一个系统上登录后,无需再次验证即可访问多个相互关联的系统。在IT行业中,SSO技术广泛应用于企业级应用,提高用户体验,简化管理并增强安全...
总之,SSO_same_domain主要涵盖了同域名下SSO的实现方法和安全考虑,涉及到Cookie、OAuth、OpenID Connect、JWT等技术,以及如何利用Spring Security和CAS等工具来构建和维护一个高效、安全的SSO系统。在实际开发中...
- **读Cookie**:用户访问其他需要SSO认证的站点时,该站点会检查是否有来自SSO服务站点的有效Cookie,如果有,则认为用户已经经过验证,无需再次登录。 - **URL传参策略**:除了Cookie之外,URL参数也是实现SSO的...