1 /**
2 *
3 */
4 package ar.com.jiji.kaya.dao;
5
6 import ar.com.jiji.kaya.model.User;
7
8 /**
9 * @author lparra
10 * TODO: separarla en dos interfaces, una que solo se encargue de autenticar y la otra para las operaciones del crud.
11 *
12 */
13 public interface UserDao extends CRUDPageableDAO<User> {
14
15 /**
16 * Valida que los datos de login de un usuario son correctos.Termina
17 * llamando a findByCredentials(String, String).
18 *
19 * @param username
20 * @param password
21 * El password (en el formato que este almacenado, no se realiza
22 * ninguna codificacion ni encriptado en este metodo).
23 * @return <code>true</code> Si existe un usuario con los datos pasados
24 * como argumentos.
25 * @see #findByCredentials(String, String)
26 */
27 boolean authenticate(String username, String password);
28
29 /**
30 * Valida los datos del usuario y si existe devuelve la instancia.
31 *
32 * @param username
33 * @param password
34 * @return La instancia del usuario si concuerda username/password, null en
35 * otro caso.
36 */
37 User findByCredentials(String username, String password);
38
39 }