Widget和SBT之间的身份验证

时间:2015-03-18 07:41:59

标签: ibm-connections ibm-sbt

背景

当用户登录社区时,我需要在窗口小部件中显示前3个下载文件的列表。

我在后端使用Social Business Toolkit获取该数据,并将其作为JSON字符串发送到窗口小部件,以显示相同的内容。

问题:

要通过SBT从社区获取文件,需要进行身份验证(端点访问)。

在这种情况下,如何将来自iWidget的用户凭据传递给自定义的servlet,以便它可以从同一个Connections社区获取所有文件

我会避免重新验证,因为用户在进入社区时已经过身份验证。


从iWidget

调用时出现以下错误



java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest at org.apache.http.impl.client.AbstractHttpClient.determineTarget(AbstractHttpClient.java:584) at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554) at com.ibm.sbt.services.client.ClientService.executeRequest(ClientService.java:1108) at com.ibm.sbt.services.client.ClientService._xhr(ClientService.java:1071) at com.ibm.sbt.services.client.ClientService.execRequest(ClientService.java:1037) at com.ibm.sbt.services.client.ClientService.xhr(ClientService.java:997) at com.ibm.sbt.services.client.ClientService.get(ClientService.java:873) at com.ibm.sbt.services.client.ClientService.get(ClientService.java:869) at com.ibm.sbt.services.client.base.BaseService.retrieveData(BaseService.java:371) at com.ibm.sbt.services.client.base.BaseService.retrieveData(BaseService.java:395) at com.ibm.sbt.services.client.base.BaseService.retrieveData(BaseService.java:346) at com.ibm.sbt.services.client.base.BaseService.getEntities(BaseService.java:205) at com.ibm.sbt.services.client.connections.communities.CommunityService.getMyCommunities(CommunityService.java:260) at 
com.ibm.sbt.services.client.connections.communities.CommunityService.getMyCommunities(CommunityService.java:244) at com.ibm._jsp._Test._jspService(_Test.java:124) at 




这是Lib文件夹里面的内容 enter image description here

1 个答案:

答案 0 :(得分:0)

您应该在managed-beans.xml文件中使用ConnectionsSSOEndpoint

<!-- Connections SSO -->    
<managed-bean>
<managed-bean-name>connections</managed-bean-name>
<managed-bean-class>com.ibm.sbt.services.endpoints.ConnectionsSSOEndpoint</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>url</property-name>
<value>${connectionsUrl}</value>
</managed-property>
<!-- Trust the connection -->
<managed-property>
<property-name>forceTrustSSLCertificate</property-name>
<value>true</value>
</managed-property>
<managed-property>
<property-name>serviceMaps</property-name>
<value>${connectionsMaps}</value>
</managed-property>
</managed-bean>

SSO端点使用现有会话中的ltpatoken和ltpatoken2令牌自动登录后端服务