我有下面的代码重置它使用IBM门户的PUMA API密码在IBM Portlet应用程序重置密码: 下面的代码检查用户是否进入老年passoword正确与否:如何使用PUMA API
loginService.checkPassword(userName, oldpswd.toCharArray());
下面的代码更新新密码:
ibmPumaUtility.updateUserPassword(userName,resetPasswordForm.getNewPassword());
PumaController pController = pumaHome.getController();
PumaLocator locator = pumaHome.getLocator();
String defaultRealm = "xyz";
User user = locator.findUserByIdentifier("uid=" + username + ",cn=users,o=" + defaultRealm);
HashMap<String, String> userAttrs = new HashMap<String, String>();
userAttrs.put("password", updatedPassword);
pController.setAttributes(user, userAttrs);
的问题是,当用户再次使用旧密码登录,他是能够登录,但只有一段时间5-10分钟,之后他能够登陆与新的密码。
有人可以请建议我如何解决这个问题。
该问题应该由WebSphere安全组件引起。它缓存了安全主题一段时间。我以为我有这种行为的PMR,但不记得是否。您可以检查用户注销时是否可以使WebSphere Subject缓存中的条目无效。 –
@StefanSchmitt我是Webshpere Portal应用程序的新手。您能否建议什么是以及如何验证WebSphere Subject缓存? – user3592257
检查Sascha的答案应该有所帮助 –