Revision 104:0ee17592fc9b
src/main/java/my/com/upass/MinimalUPassControllerV2.java | ||
---|---|---|
619 | 619 |
|
620 | 620 |
int rc; |
621 | 621 |
try { |
622 |
checkAppAccessToUser(appAccessId, hashedSecretKey, username, null); |
|
622 |
AccessCheckResult checkResult = checkAppAccessToUser(appAccessId, hashedSecretKey, username, null);
|
|
623 | 623 |
rc = changeStaticPasswordService.changeStaticPassword( |
624 |
username, newHashedPassword, oldHashedPassword, true);
|
|
624 |
username, newHashedPassword, oldHashedPassword, checkResult.getInvokerAppId());
|
|
625 | 625 |
|
626 | 626 |
} catch (MultipleAppAccessesFound e) { |
627 | 627 |
rc = MinimalConstants.ERR_APP_SERV_NOT_PERMITTED; |
src/main/java/my/com/upass/services/ChangeStaticPasswordService.java | ||
---|---|---|
45 | 45 |
|
46 | 46 |
private MinimalUPassControllerV2 upc; |
47 | 47 |
|
48 |
public ChangeStaticPasswordService(MinimalUPassControllerV2 upc) |
|
49 |
{ |
|
48 |
public ChangeStaticPasswordService(MinimalUPassControllerV2 upc) { |
|
50 | 49 |
this.upc = upc; |
51 | 50 |
} |
52 | 51 |
|
53 | 52 |
public int changeStaticPassword( |
53 |
String username, String newHashedPassword, String oldHashedPassword, Integer invokerAppId) { |
|
54 |
|
|
55 |
return changeStaticPassword(username, newHashedPassword, oldHashedPassword, true, invokerAppId); |
|
56 |
} |
|
57 |
|
|
58 |
public int changeStaticPassword( |
|
54 | 59 |
String userAlias, String newHashedPassword, String oldHashedPassword, boolean checkChangeInterval) { |
55 | 60 |
|
61 |
return changeStaticPassword(userAlias, newHashedPassword, oldHashedPassword, checkChangeInterval, null); |
|
62 |
} |
|
63 |
|
|
64 |
public int changeStaticPassword( |
|
65 |
String userAlias, String newHashedPassword, String oldHashedPassword, |
|
66 |
boolean checkChangeInterval, Integer appId) { |
|
67 |
|
|
56 | 68 |
int rc = MinimalConstants.ERR_SYSTEM_NOT_READY; |
57 | 69 |
|
58 | 70 |
try { |
... | ... | |
75 | 87 |
newHashedPassword = PasswordController.sha256(newPlainPassword); |
76 | 88 |
} |
77 | 89 |
if (checkChangeInterval == true) { |
78 |
rc = pc.checkRegeneratePassword(); |
|
90 |
rc = pc.checkRegeneratePassword(appId);
|
|
79 | 91 |
if (rc == MinimalConstants.ERR_PASSWD_CHANGE_INTERVAL) { |
80 | 92 |
return MinimalConstants.ERR_PASSWD_CHANGE_INTERVAL; |
81 | 93 |
} |
... | ... | |
107 | 119 |
MinimalUPassControllerV2.getMaybankLdapDAO().updateUser(userBean.getUserAlias(), attrMap); |
108 | 120 |
} |
109 | 121 |
session.getTransaction().commit(); |
110 |
|
|
122 |
|
|
111 | 123 |
} else { |
112 | 124 |
rc = MinimalConstants.ERR_SYSTEM_NOT_READY; |
113 | 125 |
GenericDAOHibernate.rollbackTransactionIfAny(session); |
src/main/java/my/com/upass/spassword/PasswordController.java | ||
---|---|---|
184 | 184 |
} |
185 | 185 |
} |
186 | 186 |
|
187 |
public int checkRegeneratePassword() { |
|
187 |
public int checkRegeneratePassword(Integer appId) {
|
|
188 | 188 |
|
189 | 189 |
// added checking for password change interval. |
190 | 190 |
if (userBean.getPdateCreated() != null) { |
191 | 191 |
|
192 |
final ConfigBean configBean = appId != null ? |
|
193 |
getConfigBean(appId) |
|
194 |
: getConfigBean(); |
|
195 |
|
|
192 | 196 |
Date date = new Date(); |
193 | 197 |
Date lastPasswordGenerationDate = userBean.getPdateCreated(); |
194 | 198 |
Calendar generationDate = Calendar.getInstance(); |
195 | 199 |
generationDate.setTime(lastPasswordGenerationDate); |
196 |
generationDate.add(Calendar.MINUTE, +getConfigBean().getChangePasswordInterval());
|
|
200 |
generationDate.add(Calendar.MINUTE, +configBean.getChangePasswordInterval());
|
|
197 | 201 |
|
198 | 202 |
Date passRegenDate = generationDate.getTime(); |
199 | 203 |
|
Also available in: Unified diff