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

QQ登录

只需一步,快速开始

查看: 6640|回复: 13

[结贴] 怎么实现真正意义的单点登录

  [复制链接]

480

主题

1283

帖子

4470

积分

论坛元老

Rank: 8Rank: 8

积分
4470
QQ
发表于 2014-3-20 18:19:04 | 显示全部楼层 |阅读模式
版本: X5.2.6 小版本号:
数据库: MySQL 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 8 浏览器: Chrome
是这样的,我已经安装了cas server,    我想把x5当成 cas client, 当我在浏览器地址栏输入http://localhost:8080/x5/portal/login.w后,按回车,我想系统自动去到 cas 的登录页面,在cas登录页面输入账号后,cas authentication接口能帮我实现账号校验功能,校验通过后,cas 自动转回到x5的主页面

如果纯粹的j2ee程序,在 web.xml设置拦截器就可以实现这功能了,不知道 要把x5系统设置成 cas client, 该怎么设置



发表于 2014-3-20 20:42:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

480

主题

1283

帖子

4470

积分

论坛元老

Rank: 8Rank: 8

积分
4470
QQ
 楼主| 发表于 2014-3-20 21:00:31 | 显示全部楼层
这个没有意思,不是真的单点登录,因为你实际上登录了两次,单点登录只要登录一次
回复 支持 反对

使用道具 举报

480

主题

1283

帖子

4470

积分

论坛元老

Rank: 8Rank: 8

积分
4470
QQ
 楼主| 发表于 2014-3-21 01:49:58 | 显示全部楼层
另外我想问问,
如果已经通过如下代码拿到了 sessionID,
String businessServer = "http://127.0.0.1:8080/BusinessServer";
        String localIP = "";
        
        try{
         localIP = java.net.InetAddress.getLocalHost().getHostAddress();
        }catch(Exception ex){
                log.error(ex.getMessage());
                return false;
        }
        
        ActionEngine.init(businessServer);
        String sessionID = ActionEngine.login(username, ActionUtils.md5(password), localIP, null);
        
        

请问我该调用哪个action来进入index.w 呢?
回复 支持 反对

使用道具 举报

480

主题

1283

帖子

4470

积分

论坛元老

Rank: 8Rank: 8

积分
4470
QQ
 楼主| 发表于 2014-3-21 01:50:34 | 显示全部楼层
如何调呢?
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2014-3-21 09:53:30 | 显示全部楼层
不调用action,传入语言和bsessionid,打开首页
http://127.0.0.1:8080/x5/portal2 ... E522301557394F2D5CA
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

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

使用道具 举报

480

主题

1283

帖子

4470

积分

论坛元老

Rank: 8Rank: 8

积分
4470
QQ
 楼主| 发表于 2014-3-21 13:57:26 | 显示全部楼层
非常谢谢 zhaixin, 这次真正实现了cas 和x5结合的单点登录,另外我想问问,如果不调用action, 要直接退出x5,这个链接又应该是什么样?
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2014-3-21 14:32:16 | 显示全部楼层
参考 /BIZ/demo/actions/process/integration/Demo_Integration_UI.zip 中的index.html文件
调用 x5Logout.j 实现注销
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

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

使用道具 举报

480

主题

1283

帖子

4470

积分

论坛元老

Rank: 8Rank: 8

积分
4470
QQ
 楼主| 发表于 2014-3-21 17:17:50 | 显示全部楼层
我用如下代码来退出x5

    UsernamePasswordCredentials user = (UsernamePasswordCredentials)request.getAttribute("credentials");
    String bsessionid = user.getSession();

    String businessServer = "http://127.0.0.1:8080/BusinessServer";
    ActionEngine.init(businessServer);
    ActionResult result = ActionEngine.logout(bsessionid, "application/json");

这个时候 seesion应该在x5已经没有了

之后,继续在浏览器跑如下链接
http://127.0.0.1:8080/x5/portal2 ... 4E30866C239CC47BEBA

为什么还能进入x5呢?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35945
发表于 2014-3-21 17:22:24 | 显示全部楼层
davidhuang 发表于 2014-3-21 17:17
我用如下代码来退出x5

    UsernamePasswordCredentials user = (UsernamePasswordCredentials)request.ge ...

调用注销后,在x5看看在线列表中是否还在线?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 05:36 , Processed in 0.096238 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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