例如:程序A部署在http://spjg.sipac.gov.cn上,地址为http://spjg.sipac.gov.cn/程序A
程序B部署在http://jsms.sipac.gov.cn上,地址为http://jsms.sipac.gov.cn
现在又需要实现一个程序登陆有保存用户信息到客户端,并在其他程序中使用,访问其他程序的登陆页面时如果信息正确就自动登陆,这其中域名端口不一样
现在的问题就是如何:
能够在程序A中访问程序B的Cookie,或者在B中访问A的Cookie???
cookie的Domain都设置成了统一的还是不成功,端口不同会有影响吗?
Cookie cook = new Cookie
{
Name = keyValuePair[0].Trim(),
Value = keyValuePair[1].Trim(),
Domain = "cdhrss.gov.cn" //设置cookie域
};
求大神告知,多谢!!!
为什么一定要放在cookie里?安全应该会有隐患吧,单点登录session放在服务端统一管理比较好,参照spring session redis,如果你们需求一定要存放在浏览器,当我没说
那如果是模拟登陆呢,跨域访问单点登录
@营养快线123: 额,刚才没看明白你的问题,以为你是负载准衡,如果是不同web单点登录,我一般是用cas做的,类似百度旗下所有产品,公用一个百度账号....反正正常情况应该很少有把session放在浏览器实现的
@南方酱米饭: 我知道 我试试
搭建一个单独的sso站点,来进行授权。
我知道 我试试
多谢
模拟单点登录 也是这样做吗
@营养快线123: 什么叫模拟?
@幻天芒:抓虫
http://blog.csdn.net/daybreak1209/article/details/51179629
这里有详细解释
http://blog.csdn.net/daybreak1209/article/details/51179629
可以使用 url 跳转,统一跳转到:
http://www.sipac.gov.cn/sys_a,
http://www.sipac.gov.cn/sys_b,
我们的折桂单点登录系统就是如此。比较省事。http://zheguisoft.com
可能你没明白我的意思 是模拟单点登录
Domain = ".sipac.gov.cn";
cdhrss.gov.cn是什么?你笔误写错了吧?
对 是笔误
@营养快线123: Domain = ".sipac.gov.cn";这样不行?
@Blackheart: 不行 有好的办法吗
Access-Control-Allow-Origin: http://server-a.domain.com Access-Control-Allow-Credentials: true
以及
xhr.withCredentials = true
不知道你说的什么意思
ab系统认证是否同一数据,是否同一认证方式 ——
1.有现成的sso系统,即使不同认证数据,不同认证方式都支持,只需要配置(以及加脚本)验证参数即可。
2.自己写就现场分析了,比如系统都是自己的,可以不用单独写个sso也可以;不是自己的,先把请求拦截,把验证截获到自己的代码中,然后去注入系统的验证过程即可(请求直接直接抓出来,有很强的验证的方式话(比如阿里的滑块),可能得呵呵了,用模拟操作都不一定每次能通过)。
@营养快线123: domain为.一级域名的,在所有二级域名上都是可以共享的,你先确定你是否成功创建了cookie以及domain是否是.一级域名的形式(可以通过chrome开发者工具查看)。我简单测试了一下,确实是可以的。具体做法是在a.test.com下写两条cookie数据,分别是:aaa=111;domain=.a.test.com和bbb=222;domain=.test.com,具体Java代码如下:
// "aaa=111;domain=.a.test.com",在b.com.test域下无法访问 Cookie cookie1 = new Cookie("aaa", "111"); cookie1.setDomain("a.test.com"); // 对于tomcat(8),域名前面不能加"."号!!! resp.addCookie(cookie1); // "bbb=222;domain=.test.com",在b.com.test域下可以访问 Cookie cookie2 = new Cookie("bbb", "222"); cookie2.setDomain("test.com"); resp.addCookie(cookie2);
然后访问a.test.com和b.test.com,利用chrome开发者工具查看如下:
还在不? 能私聊不?
@营养快线123: 可以啊
@学数学的程序 1725343703xmk 麻烦加下我
@学数学的程序猿: 微信
可以把登录信息加密放进去 ,后台服务器用相应的密钥解密即可,
不过要求保证密钥不被泄露