Changeset 791:291246f5412e
- Timestamp:
- 01/19/12 21:48:23 (4 months ago)
- Branch:
- default
- Location:
- kraken-dom/src/main/java/org/krakenapps/dom
- Files:
-
- 3 edited
-
api/impl/AdminApiImpl.java (modified) (2 diffs)
-
model/User.java (modified) (3 diffs)
-
script/DomScript.java (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kraken-dom/src/main/java/org/krakenapps/dom/api/impl/AdminApiImpl.java
r787 r791 228 228 } 229 229 230 enforcePasswordChange(domain, admin); 231 230 232 Integer maxSession = orgApi.getOrganizationParameter(domain, "max_sessions", Integer.class); 231 233 if (maxSession != null) { … … 284 286 throw e; 285 287 } 288 } 289 290 private void enforcePasswordChange(String domain, Admin admin) { 291 logger.trace("kraken dom: last password change [{}]", admin.getUser().getLastPasswordChange()); 292 long interval = new Date().getTime() - admin.getUser().getLastPasswordChange().getTime(); 293 294 Integer passwordExpiry = (Integer) orgApi.getOrganizationParameter(domain, "dom.user.password_expiry"); 295 if (passwordExpiry == null) 296 passwordExpiry = 365; 297 298 long baseline = passwordExpiry * 86400 * 1000L; 299 logger.trace("kraken dom: checking expired password interval [{}], last change [{}]", interval, baseline); 300 301 if (interval > baseline) 302 throw new DOMException("expired-password"); 286 303 } 287 304 -
kraken-dom/src/main/java/org/krakenapps/dom/model/User.java
r697 r791 63 63 private Date updated = new Date(); 64 64 65 @FieldOption(nullable = false) 66 private Date lastPasswordChange; 67 65 68 public String getLoginName() { 66 69 return loginName; … … 101 104 public void setPassword(String password) { 102 105 this.password = password; 106 this.lastPasswordChange = new Date(); 103 107 } 104 108 … … 158 162 this.updated = updated; 159 163 } 164 165 public Date getLastPasswordChange() { 166 return lastPasswordChange; 167 } 168 169 public void setLastPasswordChange(Date lastPasswordChange) { 170 this.lastPasswordChange = lastPasswordChange; 171 } 172 160 173 } -
kraken-dom/src/main/java/org/krakenapps/dom/script/DomScript.java
r742 r791 20 20 import org.krakenapps.dom.model.ProgramPack; 21 21 import org.krakenapps.dom.model.ProgramProfile; 22 import org.krakenapps.dom.model.User; 22 23 import org.krakenapps.dom.model.Vendor; 23 24 … … 34 35 private ApplicationApi appApi; 35 36 36 public DomScript(GlobalConfigApi globalConfigApi, OrganizationApi orgApi, UserApi userApi, RoleApi roleApi, ProgramApi programApi,37 AreaApi areaApi, HostApi hostApi, ApplicationApi appApi) {37 public DomScript(GlobalConfigApi globalConfigApi, OrganizationApi orgApi, UserApi userApi, RoleApi roleApi, 38 ProgramApi programApi, AreaApi areaApi, HostApi hostApi, ApplicationApi appApi) { 38 39 this.globalConfigApi = globalConfigApi; 39 40 this.orgApi = orgApi; … … 51 52 } 52 53 54 @ScriptUsage(description = "reset password", arguments = { 55 @ScriptArgument(name = "domain", type = "string", description = "org domain"), 56 @ScriptArgument(name = "login name", type = "string", description = "login name"), 57 @ScriptArgument(name = "password", type = "string", description = "new password") }) 58 public void passwd(String[] args) { 59 String domain = args[0]; 60 String loginName = args[1]; 61 String password = args[2]; 62 63 User user = userApi.getUser(domain, loginName); 64 user.setPassword(password); 65 66 userApi.updateUser(domain, user, true); 67 context.println("password reset"); 68 } 69 53 70 public void install(String[] args) { 54 71 InitialSchema.generate(context, globalConfigApi, orgApi, roleApi, programApi, areaApi, userApi); … … 68 85 } 69 86 70 @ScriptUsage(description = "add vendor", arguments = { @ScriptArgument(name = "domain", type = "string", description = "domain"), 87 @ScriptUsage(description = "add vendor", arguments = { 88 @ScriptArgument(name = "domain", type = "string", description = "domain"), 71 89 @ScriptArgument(name = "name", type = "string", description = "name") }) 72 90 public void addVendor(String[] args) { … … 77 95 } 78 96 79 @ScriptUsage(description = "add host type", arguments = { @ScriptArgument(name = "domain", type = "string", description = ""), 97 @ScriptUsage(description = "add host type", arguments = { 98 @ScriptArgument(name = "domain", type = "string", description = ""), 80 99 @ScriptArgument(name = "vendor guid", type = "string", description = ""), 81 100 @ScriptArgument(name = "name", type = "string", description = ""), … … 92 111 } 93 112 94 @ScriptUsage(description = "add host extension", arguments = { @ScriptArgument(name = "domain", type = "string", description = ""), 113 @ScriptUsage(description = "add host extension", arguments = { 114 @ScriptArgument(name = "domain", type = "string", description = ""), 95 115 @ScriptArgument(name = "host type guid", type = "string", description = ""), 96 116 @ScriptArgument(name = "type", type = "string", description = "host extension type"),
Note: See TracChangeset
for help on using the changeset viewer.
