Oracle海波龙套件已经多年未更新,按Oracle官方文档实施单点登陆启用之后,SmartView工具通过专用链接方式无法登陆系统。
在抓包逆向分析之后 定位到HspSmartViewServlet类在执行以下代码时获得的ssotoken无效导致,在某大厂工作的时候曾通过在filter中截获请求的方式植入Attribute,保留账号密码并在单点程序中处理实现登陆。
但在完美世界的环境中发现并没有执行到单点代码,以下代码执行报错,导致Smartview专用链接登陆失败,用户端的现象是反复弹出登陆框。
以下是报错关键代码:
RulesBase rulesBase = new RulesBase();
rulesBase.add("req_ConnectToProvider", new CallMethodRule("connect", 9));
rulesBase.add("req_ConnectToProvider", new CallParamRule(0, "intver"));
rulesBase.add("req_ConnectToProvider/usr", new CallParamRule(1));
rulesBase.add("req_ConnectToProvider/pwd", new CallParamRule(2));
rulesBase.add("req_ConnectToProvi