我有一个带有自定义JSF登录portlet的JSF portlet应用程序,它使用portletservice/com.ibm.portal.portlet.service.login.LoginHome
登录用户,
成功登录后,我尝试以下代码:
WSSubject.getRunAsSubject(),
它给了我Subject:Principal: /UNAUTHENTICATED
但是如果我使用门户网站登录原始portlet登录门户网站并测试相同的代码,它会给我Subject:Principal: defaultWIMFileBasedRealm/wpsadmin
任何人都可以告诉我问题在哪里,我是否需要任何额外的配置,我需要Run-as主题来传播生成的LTPA令牌。
更新1:
LoginService loginService = (LoginService) loginHome.getLoginService(getRequestWrapper().getPortletRequest() ,getResponseWrapper().getPortletResponse());
Map<String,Object> contextMap = new HashMap<String,Object>();
contextMap.put(LoginService.DO_RESUME_SESSION_KEY, new Boolean(true));
loginService.login(getUserID(), getUserPassword().toCharArray(), contextMap, null);