PHP网站和JSP网站单点登录

[b]条件[/b]
[list]
[*]php部署在apahche服务器中,
[*]jsp部署在Tomcat中,到jsp的请求是从apache中代理转跳过去的.
[*]php和jsp请求的sessionid的名称不同.
[/list]

[b]需求:[/b]
[list]
[*]用户在jsp网站登录或退出时,能同步到php网站相应的登录或退出.
[*]做到在不同服务器中同时登录或退出.
[*]做到一个用户能同时单点登录到不同的web服务器中.
[/list]


[b]解决方法:[/b]
由于本需求的php和jsp的sessionid各不相同,
因此采用浏览器cookie的机制,请求时把cookie里面的值发送到各自服务器;
即使把登录后的各自的sessionid先保存到cookie里,在下一次请求时再把cookie里的值一同请求包发送出去,供服务器识别该请求的用户是否已登录.
处理的难点:对两个服务器的请求能共享同一个cookie;请求jsp时,在jsp服务端同时请求php,并把请求的cookie值保存到jsp的cookie中,达到共享cookie值的目的:


[b]示意图:[/b]


[b]详细步骤:[/b]
[list]
[*]客户端请求jsp服务器;
[*]jsp服务端请求php,把php返回的sessionid或cookie值增加到jsp的返回包中(注意设置好cookie的作用域和路径,前端浏览器共享cookie);
[*]请求jsp或php时,共享的cookie将发送到相应的服务器;
[*]被请求的服务器将根据cookie值判断该请求的用户是否已登录;
[/list]


[b]衍生问题:[/b]
[list]
[*]cookie的作用域不同时怎么共享cookie或怎么设置各自的cookie值?(比如:www.jsp.com 和 www.php.com怎么样共享或分别设置)
[*]在Tomcat里面,前端cookie怎么样采用自己的sessionid的名字,而不采用默认的JSESSION=....................
[/list]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值