@CodeCompletion
public void changesessionpassword(String domain, String newPassword) {
// Fetch the login info for the current user
DBLoginInfo loginInfo = (DBLoginInfo) getwgacore().getSessionLogins(gethttpsession()).get(domain);
if (loginInfo == null) {
return;
}
// Change password on login info
loginInfo.setCredentials(newPassword);
// Change cached password on domain auth module, if it is password-caching
if (!WGDatabase.SESSIONTOKEN_USER.equals(loginInfo.getUserName())) {
DomainConfiguration domConfig = getwgacore().getDomainConfig(domain);
if (domConfig != null && domConfig.getAuthModule() instanceof PasswordCachingAuthenticationModule) {
PasswordCachingAuthenticationModule module = (PasswordCachingAuthenticationModule) domConfig.getAuthModule();
module.dropPasswordCache(loginInfo.getUserName());
}
}
}