1 package org
.argeo
.security
.core
;
3 import org
.argeo
.ArgeoException
;
4 import org
.argeo
.security
.ArgeoSecurity
;
5 import org
.argeo
.security
.ArgeoSecurityDao
;
6 import org
.argeo
.security
.ArgeoSecurityService
;
7 import org
.argeo
.security
.ArgeoUser
;
8 import org
.argeo
.security
.SimpleArgeoUser
;
10 public class DefaultSecurityService
implements ArgeoSecurityService
{
11 private ArgeoSecurity argeoSecurity
= new DefaultArgeoSecurity();
12 private ArgeoSecurityDao securityDao
;
14 public ArgeoSecurityDao
getSecurityDao() {
18 public void newRole(String role
) {
19 securityDao
.createRole(role
, argeoSecurity
.getSuperUsername());
22 public void updateUserPassword(String username
, String password
) {
23 SimpleArgeoUser user
= new SimpleArgeoUser(securityDao
25 user
.setPassword(password
);
26 securityDao
.update(user
);
29 public void updateCurrentUserPassword(String oldPassword
, String newPassword
) {
30 SimpleArgeoUser user
= new SimpleArgeoUser(securityDao
.getCurrentUser());
31 if (!user
.getPassword().equals(oldPassword
))
32 throw new ArgeoException("Old password is not correct.");
33 user
.setPassword(newPassword
);
34 securityDao
.update(user
);
37 public void newUser(ArgeoUser user
) {
38 user
.getUserNatures().clear();
39 argeoSecurity
.beforeCreate(user
);
40 securityDao
.create(user
);
43 public void updateUser(ArgeoUser user
) {
44 String password
= securityDao
.getUserWithPassword(user
.getUsername())
46 SimpleArgeoUser simpleArgeoUser
= new SimpleArgeoUser(user
);
47 simpleArgeoUser
.setPassword(password
);
48 securityDao
.update(simpleArgeoUser
);
51 public void setArgeoSecurity(ArgeoSecurity argeoSecurity
) {
52 this.argeoSecurity
= argeoSecurity
;
55 public void setSecurityDao(ArgeoSecurityDao dao
) {
56 this.securityDao
= dao
;