View Javadoc

1   /**
2    * 
3    */
4   package ar.com.jiji.kaya.auth;
5   
6   import ar.com.jiji.kaya.dao.UserDao;
7   import ar.com.jiji.kaya.model.User;
8   import ar.com.jiji.kaya.utils.ValidateUtils;
9   
10  /**
11   * Realiza la autenticacion de usuarios usando un DAO.
12   * 
13   * @author lparra
14   * 
15   */
16  public class UserAuthenticatorDaoImpl implements UserAuthenticator {
17  
18  	private UserDao dao;
19  
20  	public UserAuthenticatorDaoImpl() {
21  	}
22  
23  	public UserAuthenticatorDaoImpl(UserDao dao) {
24  		this.dao = dao;
25  	}
26  
27  	public User authenticate(String username, String password)
28  			throws IllegalArgumentException {
29  		ValidateUtils.argNotNull(dao, "dao");
30  		ValidateUtils.argNotNull(username, "user name");
31  		ValidateUtils.argNotNull(password, "password");
32  
33  		User usr = dao.findByCredentials(username, password);
34  		// TODO: esto es para inicializar las colecciones lazy. aca no sirve el
35  		// opensessioninviewfilter porque este objeto va a quedar attacheado al
36  		// objeto visit. no me gusta mucho como queda, pero me parece que no
37  		// esta tan mal.
38  		if (usr != null) {
39  			usr.getRoles().size();
40  			usr.getEmail();
41  		}
42  		return usr;
43  		// TODO: se hace un update del usuario, porque???
44  	}
45  
46  	public void setUserDao(UserDao dao) {
47  		ValidateUtils.argNotNull(dao, "userDao");
48  		this.dao = dao;
49  	}
50  
51  }