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

QQ登录

只需一步,快速开始

查看: 3945|回复: 10

[处理中3] CAS集成方案

[复制链接]

536

主题

1199

帖子

2586

积分

金牌会员

Rank: 6Rank: 6

积分
2586
QQ
发表于 2022-10-17 16:36:49 | 显示全部楼层 |阅读模式
X53.9 要与集团的统一身份认证集成  单点登录的方式是       CAS集成方案
     有相关的案例么?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2022-10-18 10:41:16 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

536

主题

1199

帖子

2586

积分

金牌会员

Rank: 6Rank: 6

积分
2586
QQ
 楼主| 发表于 2022-10-19 10:45:52 | 显示全部楼层
本帖最后由 win3394393 于 2022-10-20 15:40 编辑

浏览器中输入http://localhost:8080/x5时,会自动切换到CAS的登录界面;登录成功后,后自动切换到http://localhost:8080/x5/UI/ portal2/process/portal/index.w这里切换 怎么获取用户名呢?NTLoginFilter 这个文件系统有java文件么?在哪里?   没找到这个文件呢?报错是这个文件里面有问题  点击控制台  弹出了一个。clasee文件  但是这个对应的java文件在什么地方 我想要改这个java文件?找不到这个文件呢?at com.justep.filter.NTLoginFilter.ntLogin(NTLoginFilter.java:96)
at com.justep.filter.NTLoginFilter.getBSessionID(NTLoginFilter.java:66)
at com.justep.filter.NTLoginFilter.doFilter(NTLoginFilter.java:44)
但是这个文件在  com.justep.filter -x5-cas.jar -E:\x5\touzishengjianjiuqiyeban\runtime\UIServer\WEB-INF\lib -UI 中 编辑不了 怎么办? 打到包里面了?
还有 目前这个系统是从2.7升级到3.9的 我用了最新的  3 版本中的 x5-cas.jar  服务器起不来   只能用 2版本中的 x5-cas .jar 这个确认下  是用2版本的吧 没有问题吧? 不能用 3版本的吧?

UIServer错误URI:/x5/portal/login.w错误码:500错误信息:Filter 执行抛出一个异常
[url=]隐藏错误详细
at com.justep.filter.NTLoginFilter.ntLogin(NTLoginFilter.java:96)
at com.justep.filter.NTLoginFilter.getBSessionID(NTLoginFilter.java:66)
at com.justep.filter.NTLoginFilter.doFilter(NTLoginFilter.java:44)
j
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2022-10-20 15:49:16 | 显示全部楼层
3.9版本就用3版本的

class没有加过密可以自己用反编译工具反编译然后用java原文件跟踪调试
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

536

主题

1199

帖子

2586

积分

金牌会员

Rank: 6Rank: 6

积分
2586
QQ
 楼主| 发表于 2022-10-20 16:07:21 | 显示全部楼层
本帖最后由 win3394393 于 2022-10-20 16:24 编辑
jishuang 发表于 2022-10-20 15:49
3.9版本就用3版本的

class没有加过密可以自己用反编译工具反编译然后用java原文件跟踪调试 ...

因为这个系统是2.7升级到3.9的  用2的jar包试了 可以登录  换成3的jar就不能登录了 ,直接报错 是不是  升级的  不能用3  与直接的 3版本还不一样啊?这个系统用的是2.7经典门户登录的,没有用portal2 下的 /portal/portalProcess  而且也对比了  在biz都有 portal2 下的/portal/portalProcess
报错信息如下
com.justep.exception.BusinessException: can't find process in invokeActions:/portal/portalProcess
        at com.justep.util.Utils.check(Unknown Source)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at com.justep.micro.service.MicroServiceFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
2022-10-20 16:04:51 Not registed session:FD8B1F3FBCA4BA6518BBE3AC56B4DBED, jsessionid:null, action: <?xml version="1.0" encoding="UTF-8"?>
<action xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:justep="http://www.justep.com/x5#" xmlnsxf="http://www.orbeon.com/oxf/processors" xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:xslt="http://www.orbeon.com/oxf/processors" xmlns:xbiz="http://www.justep.com/xbiz#" name="getAgentListAction" process="/SA/OPM/system/systemProcess" activity="mainActivity">
<parameters>
</parameters>
</action>



回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2022-10-20 16:23:37 | 显示全部楼层
/portal/portalProcess搜索看这个地址什么地方写的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

536

主题

1199

帖子

2586

积分

金牌会员

Rank: 6Rank: 6

积分
2586
QQ
 楼主| 发表于 2022-10-22 21:12:45 | 显示全部楼层
jishuang 发表于 2022-10-20 16:23
/portal/portalProcess搜索看这个地址什么地方写的

现在获取了第三方传过来的  用户名      反编译了 NTLoginFilter   修改了代码  使用  用户名进行登录   但是执行了这段代码                 ActionResult ar = ActionEngine.invokeActions(JustepConfig.getBusinessServer() + "/login2", null, action.asXML().getBytes("UTF-8"), null, ActionUtils.JSON_CONTENT_TYPE,      ActionUtils.XML_CONTENT_TYPE, null, language, "post", null);      就没反应了   我看了参数 传的应该没有问题  但是代码没反应   我应该怎么跟踪呢  ,现在是打到了 x5-cas.jar中 ,没办法跟踪了   为什么不执行   ,就是告诉我怎么跟踪这个。jar的不执行?

private String ntLogin(String username) {
                                System.out.println("_______private String ntLogin++++++++++++++username+++++++++++++++++++++"+username);

        String language = "zh_CN";
        Action action = new Action();
        action.setProcess("/SA/OPM/system/systemProcess");
        action.setActivity("mainActivity");
        action.setName("ntLoginAction");
        action.setParameter("name", username);
        action.setParameter("loginDate", new Date(System.currentTimeMillis()));
        action.setParameter("ip", "127.0.0.1");
        action.setParameter("options", new HashMap());
        action.setParameter("lang", language);
        try {
               
                  









               


                ActionResult ar = ActionEngine.invokeActions(JustepConfig.getBusinessServer() + "/login2", null, action.asXML().getBytes("UTF-8"), null, ActionUtils.JSON_CONTENT_TYPE,      ActionUtils.XML_CONTENT_TYPE, null, language, "post", null);
                  ActionResult ar=null ;
            if (ar.isSuccess()) {
                    System.out.println("_______private String ntLogin++++++++++++++ar.isSuccess()+++++++++++++++++++++"+ar.getBSessionID());
                return ar.getBSessionID();
            }


            throw new RuntimeException(ar.getMessage());
        } catch (Exception e) {
            logger.error(new StringBuilder(String.valueOf(e.getMessage())).toString(), e);
            throw new RuntimeException(new StringBuilder(String.valueOf(e.getMessage())).toString(), e);
        }
    }

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2022-10-25 15:02:44 | 显示全部楼层
1.jar包中的可以反编译生成java进行调试
2.确认JustepConfig.getBusinessServer()获取的是否正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

536

主题

1199

帖子

2586

积分

金牌会员

Rank: 6Rank: 6

积分
2586
QQ
 楼主| 发表于 2022-10-26 01:01:46 | 显示全部楼层
本帖最后由 win3394393 于 2022-10-26 01:05 编辑
jishuang 发表于 2022-10-25 15:02
1.jar包中的可以反编译生成java进行调试
2.确认JustepConfig.getBusinessServer()获取的是否正确 ...

现在jar的方法都正常执行了       程序走到    x5/portal/index.w的页面  就有问题     index代码
//获取用户信息
                viewRequestAndVars(null,request);
                String userInfo = Controller.process("system/User/initPortalInfo", (HttpServletRequest)request);
                vars.put("userInfo", userInfo);
                System.out.println("Index.java userInfo="+userInfo);
                //获取功能树
                String funcTree = Controller.process("system/FuncTree", (HttpServletRequest)request);
                vars.put("funcTree", funcTree);
                System.out.println("Index.java funcTree="+funcTree);
                //获取快捷方式
                String shortCuts = Controller.process("system/Layout/loadShortcuts", (HttpServletRequest)request);
                //String shortCuts ="";
                vars.put("shortCuts", shortCuts);
                System.out.println("Index.java shortCuts="+shortCuts);
                //获取布局信息
                String layout = Controller.process("system/Layout/loadTabs", (HttpServletRequest)request);
                //String layout ="";
                vars.put("layout", layout);
                System.out.println("Index.java layout="+layout);
                //获取widget
                String widgets = Controller.process("system/WidgetList",(HttpServletRequest)request);
                vars.put("widgets", widgets);
                System.out.println("Index.java widgets="+widgets);





问题 1     比如  userInfo  下面这个  里面的 orgName  、agentPersonCode、orgPath 等取到的都是null    我用以前没集成的登录页 输入用户名和密码 都是有值得   //获取用户信息
                viewRequestAndVars(null,request);
                String userInfo = Controller.process("system/User/initPortalInfo", (HttpServletRequest)request);
                vars.put("userInfo", userInfo);



打印出来
Index.java userInfo=[{"data":"{\"orgName\":'null',\"agentPersonCode\":'null',\"orgPath\":'null',\"agentOrgPath\":'null',\"needModifyPassword\":'null',\"businessId\":'06BBF54F9AB956EF6347DACE41DA5A5B',\"agentOrgName\":'null',\"userName\":'null',\"locale\":'zh_CN',\"agentPersonName\":'null',\"personCode\":'null',\"orgId\":'null',\"personName\":'null',\"personId\":'null',\"agentPersonId\":'null',\"agentOrgId\":'null'}","status":"SUCCESS"}]


问题 2       其他的报错  Index.java layout=error for system/Layout/loadTabs


                  Index.java shortCuts=error for system/Layout/loadShortcuts

问题 3  
2022-10-26 00:49:43 action:<?xml version="1.0" encoding="UTF-8"?>
<action process="/portal/portalProcess" activity="index" name="__getName__" execute-context="" content-type="application/xml"><parameters><parameter name="p"><xbiz:map xmlns:xbiz="http://www.justep.com/xbiz#"><item key="@ac"><xbiz:simple type="http://www.w3.org/2001/XMLSchema#String">535894dd0b73cf6c3c229b5a521fcaabfb1305c343d8</xbiz:simple></item></xbiz:map></parameter></parameters></action>


com.justep.exception.BusinessException: can't find process in invokeActions:/portal/portalProcess


这个/portal/portalProcess  我找了  存在的  不清楚为什么会报错







回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2022-10-26 16:55:19 | 显示全部楼层
如果要用的是之前的门户,那就用之前版本的jar

5.3的是针对5.3的UI2下提供的门户的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 09:52 , Processed in 0.095444 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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