2012-12-06 26 views
2

我们的系统是一个与Siteminder进行交互的网关,用于身份验证并连接到后端系统。 Siteminder正在返回标题中的SMSESSION和SMIDENTITY。如何从SMSESSION中检索用户标识。格式如下: SMSESSION = dQtTYNjolqkVPoblyV2iUYzlaffxweO7jwHdbC8R8HCRzyuR2E6we22hBEdfOquw4Wx4V2Ly6tuTq7DctZXBpiUVOqYr1htSKExdDauUYD0Eh + jmdw9yBSSjkUm/nlDd6iFizN2zeyBAGda7jgHbyvKCB0T54ZrFFEMTd1jdJfiOJS0q6c从Siteminder检索用户ID smsession

我试图手动进行编码字符串和解码,但它不是让我的用户ID。如何从SMSESSION获取用户ID?

感谢,

回答

3

用户ID可以在默认的SiteMinder头tageed“SM_USER”

+0

谢谢访问SM_USER值,但响应不包含任何标题SM_USER。它是一个外部系统,对该系统没有太多控制。 – user1860832

3

找到我相信SMSESSION饼干由代理加密,你将无法做太多与它。您必须与外部SiteMinder支持团队合作,要求他们添加SM_USER或其他标题。它是SiteMinder配置的一部分。

0

你可以从response.getHeaderNames)的SM_USER(,使用您的index.jsp以下脚本:

<script language="JavaScript" type="text/javascript"> 

<% 
    java.util.Enumeration names = request.getHeaderNames(); 

    String SM_USER = ""; 

    while(names.hasMoreElements()) 
    { 
     String name = (String)names.nextElement(); 
     if(name.contains("SM_USER")) 
     { 
       SM_USER = request.getHeader("SM_USER"); 
     } 
    } 


%> 

    var SM_USER = '<%= SM_USER %>';  

</script> 

然后你可以从window.SM_USER