通过portlet主动请求方式获得和portal通过LTPA方式集成的系统的登陆后某个页面的特定信息(portal SSO)

 
public CredentialVaultService initConcrete(PortletSettings settings) throws UnavailableException {   
  try {   
 CredentialVaultService vaultService = (CredentialVaultService)    getPortletConfig().getContext().getService(CredentialVaultService.class);   return vaultService  
}    catch (Exception e) {     
return null;   
 } 
    }       
public Info getSomeInfoFromOtherSystem(PortletRequest request){
CredentialVaultService vaultService=initConcrete(request.getPortletSettings());  
Subject subject = vaultService.getUserSubject(request);
 
           Object[] temp = subject.getPrivateCredentials(LTPATokenCredential.class).toArray();
           LTPATokenCredential ltpaToken = (LTPATokenCredential) temp[0];
           System.out.println("LTPAToken: " + ltpaToken.getTokenString());
//        Create the LTPA Cookie in the Header
           String cookie = "LtpaToken=" + ltpaToken.getTokenString();
//   创建一个需要获得相关信息的目标页面(登陆后)
           URL url = new URL("http://oatest.china.com/PSOA/ggfb.nsf/homepageviewforportal?OpenView");
           HttpURLConnection con = (HttpURLConnection) url.openConnection();
           con.setRequestProperty("cookie", cookie);
           con.connect();
        
               // 通过 LTPATOKEN 可以得到成功登陆后的页面
           BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"GBK"));
           String line = "";
           while (line != null) {
           line = br.readLine();  
            
           }
            br.close();
           con.disconnect();
return getSomeInfoFromHtml(line);
           }
           catch (Exception e) {
           e.printStackTrace();
                      }
}
/**
从登陆后的 页面 中截取所需要的信息
**/
 Public Info getSomeInfoFromHtml(String html){ ….. };
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值