基于Cookie跨域的单点登录问题
2014-08-20 15:03
302 查看
由于项目中,需要用的单点登录,主要的思路是:系统1:用户名密码-->写入Cookie-->其他系统读取Cookie。
1、在同一个服务器下的Cookie共享
@Component("userLoginAction") @Namespace("/userLogin") @ParentPackage("json-default") publicclassUserLoginActionextendsActionSupport{ @Action(value="saveCookie",results={ @Result(name=SUCCESS,location="/WEB-INF/page/success.ftl") }) publicStringsaveCookie(){ Cookiecook=newCookie("userName","lisi"); cook.setPath("/"); cook.setMaxAge(-1); ServletActionContext.getResponse().addCookie(cook); returnSUCCESS; } }
cook.setPath("/");设置在同一个webapp下
cook.setMaxAge(-1);设置关闭浏览器后清除Cookie。 2、跨域Cookie共享,首先这里说的Cookie跨域不是跨多域,而是跨子域。 在host文件中设置本地域名。
packagecn.action; importjavax.servlet.ServletContext; importjavax.servlet.http.Cookie; importorg.apache.struts2.ServletActionContext; importorg.apache.struts2.convention.annotation.Action; importorg.apache.struts2.convention.annotation.Namespace; importorg.apache.struts2.convention.annotation.ParentPackage; importorg.apache.struts2.convention.annotation.Result; importorg.springframework.stereotype.Component; importcom.opensymphony.xwork2.ActionSupport; @Component("userLoginAction") @Namespace("/userLogin") @ParentPackage("json-default") publicclassUserLoginActionextendsActionSupport{ @Action(value="saveCookie",results={ @Result(name=SUCCESS,location="/WEB-INF/page/success.ftl") }) publicStringsaveCookie(){ Cookiecook=newCookie("userName","lisi"); cook.setPath("/"); cook.setMaxAge(-1); cook.setDomain(".demo.com"); ServletActionContext.getResponse().addCookie(cook); returnSUCCESS; } }
cook.setDomain(".demo.com");设置的共享子域名.demo.com 就ok了。在浏览器中可以查看到该Cookie
相关文章推荐
- P3P 跨域访问第三方cookie的解决方案 适合解决UC的同步登录问题
- P3P 跨域访问第三方cookie的解决方案 适合解决UC的同步登录问题
- Cookie单点登录跨域问题
- IPhone UC 浏览器基于cookie登录的用户无法退出(无法删除 cookie)问题
- WCF 基于Cookie的登录验证回传问题的解决
- QQ登录IE下iframe跨域session和cookie失效问题的解决方案
- 解决通过Cookie进行网站自动登录的安全性问题
- IE8 cookie无法保存问题-----造成网站总要重复登录
- 采集需要登录后的网页(重定向后cookie丢失问题)
- 采集需要登录后的网页(重定向后cookie丢失问题)
- 关于Cookie跨域操作遇到的问题及解决方法
- 新安装的OpenSuse11.3, 用Xshell基于ssh的远程登录失败问题的解决
- P3P script src 解决cookie存取的跨域问题 java 终极解决办法
- C# Cookies跨域登陆(写入cookie登录)
- 利用cookie的跨域单点登录的简单实现
- asp跨域共用cookie和session的问题
- Cookie跨域问题
- Cookie跨域、虚拟目录, 实现通行证登录
- cookie跨域,实现单点登录
- 深入分析跨域cookie的问题