Cómo utilizar la base de datos para autenticar el inicio de sesión de Springmvc
importar java.util.ArrayList
importar java.util.Collection
importar java.util.User;
importar; org.springframework.security.core.userdetails.core.userdetails.UserDetailsService;
importar org.springframework.security.core.userdetails.UsernameNotFoundException;
importar org.springframework.stereotype. Repositorio;
importar org.springframework.stereotype.Service;
importar org.springframework.transaction.annotation.
importar org.Springframework.Transactional; p> p>
importar UserBean;
@Repository
@Service
@Transactional( readOnly=true)
público clase SimpleUserDetailsService implementa UserDetailsService {
@Autowired
UserDao privado userDAO;
Dominio UserBean privadoUser
UserDetails público loadUserByUsername(String login) p>
lanza UsernameNotFoundException {
domainUser = userDAO.getUser(iniciar sesión);
booleano habilitado = verdadero
booleano deshabilitado = falso;
booleano deshabilitado = falso;
p>
cuenta booleana no vencida = verdadero;
cuenta booleana vencida = falso;
credenciales booleanas no vencidas = true;
credenciales booleanasExpired = false;
cuenta booleanaNonLocked = true;
cuenta booleanaLocked = false;
if (null ! = usuariodominio){
devolver nuevo usuario(
dominioUsuario.getUsername(), //getLogin(),
dominioUsuario.getPassword(),
habilitado,
cuenta no vencida,
credenciales no vencidas,
cuenta no bloqueada,
getAuthorities(domainUser.getIduser() )); <
/p>
} else {
return new User(
"**20**",
"**//**" ,
deshabilitado,
cuenta caducada,
credenciales caducadas,
cuenta bloqueada,
getAuthorities(-20 ) ) ;
}
}
Colección pública getAuthorities(ID de usuario entero) {
Lista
return authList;
}
Lista pública
List
roles = userDAO.getUserRoles(userid);
devolver roles;
}
Lista pública estática
Lista
para (Rol de cadena: roles) {
authorities.add(new SimpleGrantedAuthority(role));
}
autoridades de retorno;
}