Revision 104:0ee17592fc9b

View differences:

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