起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10101|回复: 16

[结贴] 单点登录集成问题。

[复制链接]

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
发表于 2014-11-3 15:22:22 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
本帖最后由 boolean 于 2014-11-3 15:25 编辑

按照高级开发手册上的跳转方法可以通过url 带参数的形式直接登陆 X5 门户 ,http://IP:端口/x5/portal/directLogin.w?username=用户名&password=密码 。
我们不希望把用户的信息暴露出来,想把用户名存在客户端session中,在X5的directLogin.w页面获取客户端session用户名查询出密码进行登录。
我在DirectLogin.java试了试,没有能够获取到。如果获取到之后通过ActionEngine.login()登录,再怎么把原request参数中需要的属性设置进去,且需要那些属性?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-11-3 16:49:27 | 显示全部楼层
DirectLogin.java中是取不到第三方的session的

url中传一个用户的ID等信息,然后在x5的登录前到数据库中查询用户的用户名和密码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
 楼主| 发表于 2014-11-3 16:54:44 | 显示全部楼层
本帖最后由 boolean 于 2014-11-3 17:13 编辑
jishuang 发表于 2014-11-3 16:49
DirectLogin.java中是取不到第三方的session的

url中传一个用户的ID等信息,然后在x5的登录前到数据库中查 ...

登录前?在X5的什么位置?取的是同一客户端的session 不是第三方的。
URL中不能传用户ID等信息,这样就能截取到这个链接,通过这个链接就能直接访问X5系统,所以和登录相关的数据都不能暴露在链接里面。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-11-4 08:48:41 | 显示全部楼层
客户端的是cookie
session是第三方的在x5中是获取不到的

如果不在url上传参经典门户中不能通过post的方式直接返回bsessionid进行登录,新门户可以

经典门户需要在url上传个用户信息,然后直接获取用户名和密码进行直接登录
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
 楼主| 发表于 2014-11-4 09:00:45 | 显示全部楼层
jishuang 发表于 2014-11-4 08:48
客户端的是cookie
session是第三方的在x5中是获取不到的

那经典页面能获取cookie进行登录吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-11-4 13:28:58 | 显示全部楼层
可以用.J(就是serlvet),在servlet中获取
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
 楼主| 发表于 2014-11-4 17:47:34 | 显示全部楼层
jishuang 发表于 2014-11-4 13:28
可以用.J(就是serlvet),在servlet中获取

我写了个JAVA文件 也就是servlet 。获取到了cookie并查询到了密码。
但是登录后并没有跳转成功,代码如下:
ActionEngine.init("http://IP:端口/BusinessServer");
String bsessionID = ActionEngine.login(username, password, localIP, null);
addCookie(response,"justep-username",username,3600);
response.sendRedirect("http://"+localIP+":8080/x5/portal/index.w?timestamp=" + new Date().getTime());

public static void addCookie(HttpServletResponse response,String name,String value,int maxAge){
            Cookie cookie = new Cookie(name,value);
            cookie.setPath("/");
            if(maxAge>0)  cookie.setMaxAge(maxAge);
            response.addCookie(cookie);
        }
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-11-5 08:55:34 | 显示全部楼层
不是直接跳转到首页

要传用户名和密码调整的directLogin.w
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

87

主题

397

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
QQ
 楼主| 发表于 2014-11-5 09:19:22 | 显示全部楼层
jishuang 发表于 2014-11-5 08:55
不是直接跳转到首页

要传用户名和密码调整的directLogin.w

不可以在servlet里面登录跳转到首页吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-11-5 09:45:20 | 显示全部楼层
经典门户不能直接调整的首页,要直接的登录的方法调整到首页
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-19 21:19 , Processed in 0.081832 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表