通过URL+passport实现cognos登录

使用技术:
CognosSDK,Servlet,JQuery(JS)
由于只是自己的测试整个框架搭的比较粗糙,下面是主要的实现步骤
1:搭建测试环境,Cognos配置了SunOne,取消匿名登录,在MyEclipse中新建一个web工程,引入SDK所需的jar包(在SDK安装目录下),导入jquery(js)文件
2:开发登录页面login.jsp
页面核心内容为:

  
   method="post" name="form1">
   用户名:
   
   密码:
   
   

  

3:开发servlet类SDKCognosLogin.java
public class SDKCognosLogin extends HttpServlet {
private static final long serialVersionUID = 1L;
private CRNConnect connect=new CRNConnect();

@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException {
  String username=req.getParameter("username");
  String password=req.getParameter("password");
  if(connect.logon("SunOne", username, password)){
   System.out.println("cognos 登录成功!!!");
   System.out.println("获取passport中。。。");
   BiBusHeader bibus = null;
   SOAPHeaderElement x = ((Stub) connect.getCmService()).getResponseHeader(
     "
http://developer.cognos.com/schemas/bibus/3/", "biBusHeader");
   bibus = BIBusHeaderHelper.getHeaderObject(x, true, "");
   String passport=bibus.getCAM().getCAMPassport().getId();
   System.out.println("passport:"+passport);
   try {
    req.getRequestDispatcher("../welcome1.jsp?m_passportID="+passport+"").forward(req,resp);
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

  }
}

@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  
}

}
3: 配置web.xml

  sdkcognosLogin
  com.portal.SDKCognosLogin



  sdkcognosLogin
  /servlet/loginServlet


4:后台登录Cognos页面实现登录welcome1.jsp



     

welcome!!!


    name="m_passportID" id="m_passportID"/>


5:登录Cognos首页,这时可以发现,没有弹出登录页面了
其中 CRNConnect.java,BIBusHeaderHelper.java类似为SDK样例中的两个类(附件中为这两个类)6:操作截图

附件:

附件图标 Desktop.zip (2.74 KB)

参与18

14 同行回答

小熊熊 小熊熊 商业智能工程师 北京文思海辉金信软件有限公司
你好,前台的username和password在cognos系统表中的密码是通过明文保存的嘛?如果不是能够提供一下cognos加密的类吗?显示全部

你好,前台的username和password在cognos系统表中的密码是通过明文保存的嘛?如果不是能够提供一下cognos加密的类吗?

收起
互联网服务 · 2016-06-24
浏览1664
yuqingxue yuqingxue QA工程师 fafdsafds
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶显示全部

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

收起
互联网服务 · 2016-01-28
浏览2439
ictyx ictyx 软件开发工程师 公司
楼主,如果这个用extjs2.2版本的怎么修改下啊?求指导显示全部
楼主,如果这个用extjs2.2版本的怎么修改下啊?求指导 收起
互联网服务 · 2014-03-24
浏览1692
Cognos_菜 Cognos_菜 软件开发工程师 高伟达软件股份有限公司
支持楼主,希望继续有分享显示全部
支持楼主,希望继续有分享 收起
互联网服务 · 2013-12-18
浏览1677
iceacman iceacman 学生 stagiaire
支持楼主,希望继续有分享,哈哈显示全部
支持楼主,希望继续有分享,哈哈 收起
互联网服务 · 2013-12-03
浏览1769
piaofenglove piaofenglove 软件开发工程师 computer
ding,刚学sdk显示全部
ding,刚学sdk 收起
软件开发 · 2013-09-27
浏览1801
lsxljx1219 lsxljx1219 学生 ibm
顶一下。。。显示全部
顶一下。。。 收起
互联网服务 · 2013-08-22
浏览1800
winyee winyee 软件开发工程师 东软集团
回复 7# qinxinxu     SDK高深的还不会,才刚开始研究!希望能帮到有需要的人。显示全部
回复 7# qinxinxu


    SDK高深的还不会,才刚开始研究!希望能帮到有需要的人。 收起
互联网服务 · 2013-08-15
浏览1812
qinxinxu qinxinxu 软件架构设计师 中软国际(昆明)
很实用的帖子,,,集成上经常用到,好贴。显示全部
很实用的帖子,,,集成上经常用到,好贴。 收起
系统集成 · 2013-08-15
浏览1780
winyee winyee 软件开发工程师 东软集团
回复 5# zhdcfy     写的比较粗糙,刚好最近在研究SDK,分享一些自己的所得,希望能对大家有点帮助!!显示全部
回复 5# zhdcfy


    写的比较粗糙,刚好最近在研究SDK,分享一些自己的所得,希望能对大家有点帮助!! 收起
互联网服务 · 2013-08-14
浏览1797

提问者

winyee
winyee 0 0 5
软件开发工程师 东软集团
擅长领域: 商业智能大数据cognos
评论532

相关问题

相关资料

问题状态

  • 发布时间:2013-08-14
  • 关注会员:4 人
  • 问题浏览:8690
  • 最近回答:2016-06-24
  • X社区推广