]> git.argeo.org Git - lgpl/argeo-commons.git/blob - DefaultSecurityService.java
ef64337ebed1d99762cf642a0c496a8892447980
[lgpl/argeo-commons.git] / DefaultSecurityService.java
1 package org.argeo.security.core;
2
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;
9
10 public class DefaultSecurityService implements ArgeoSecurityService {
11 private ArgeoSecurity argeoSecurity = new DefaultArgeoSecurity();
12 private ArgeoSecurityDao securityDao;
13
14 public ArgeoSecurityDao getSecurityDao() {
15 return securityDao;
16 }
17
18 public void newRole(String role) {
19 securityDao.createRole(role, argeoSecurity.getSuperUsername());
20 }
21
22 public void updateUserPassword(String username, String password) {
23 SimpleArgeoUser user = new SimpleArgeoUser(securityDao
24 .getUser(username));
25 user.setPassword(password);
26 securityDao.update(user);
27 }
28
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);
35 }
36
37 public void newUser(ArgeoUser user) {
38 user.getUserNatures().clear();
39 argeoSecurity.beforeCreate(user);
40 securityDao.create(user);
41 }
42
43 public void updateUser(ArgeoUser user) {
44 String password = securityDao.getUserWithPassword(user.getUsername())
45 .getPassword();
46 SimpleArgeoUser simpleArgeoUser = new SimpleArgeoUser(user);
47 simpleArgeoUser.setPassword(password);
48 securityDao.update(simpleArgeoUser);
49 }
50
51 public void setArgeoSecurity(ArgeoSecurity argeoSecurity) {
52 this.argeoSecurity = argeoSecurity;
53 }
54
55 public void setSecurityDao(ArgeoSecurityDao dao) {
56 this.securityDao = dao;
57 }
58
59 }