我有一个运行良好的Websphere门户应用程序。当前注销命令在默认主题中可用。 我想知道如何从java / spring源代码注销门户?我们可以调用相同的命令方法吗?从服务器端Java代码“注销”? 我有更改密码的功能。更改密码后,我要注销用户。
答案 0 :(得分:0)
下面是您需要从portlet尝试的项目列表
final PortletStateManager mgr = getPortletStateManager(request, response);
urlFactory = mgr.getURLFactory();
url = urlFactory.newURL(com.ibm.portal.state.Constants.EMPTY_COPY); //If no state from the current request to be preserved
LogoutActionAccessorFactory logoutFct = mgr.getAccessorFactory(LogoutActionAccessorFactory.class);
LogoutActionAccessorController logoutCtrl = logoutFct.newLogoutActionController(url.getState());logoutCtrl.dispose();
finalUrl = url.writeDispose(new StringWriter()).toString();
同样可以从Servlet中完成。您将在门户网站文档中看到相应的AccessorFactory和AccessorController。
已编辑
PortletStateManager是从PortletStateManagerService获得的,它又是使用JNDI查找从PortletServiceHome获得的。
找出此问题的正确方法是浏览Portal的Java文档。请参考接口PortletStateManagerService
。评论部分明确说明了如何获得它。
您可以在<portal-install-root>\WebSphere\PortalServer\doc\Javadoc\spi_docs