Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo utilizar la base de datos para autenticar el inicio de sesión de Springmvc

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>

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)

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 authList = getGrantedAuthorities( getRoles(ID de usuario));

return authList;

}

Lista pública getRoles(ID de usuario entero) {

List();

roles = userDAO.getUserRoles(userid);

devolver roles;

}

Lista pública estática getGrantedAuthorities(List roles) {

Lista autoridades = new ArrayList();

para (Rol de cadena: roles) {

authorities.add(new SimpleGrantedAuthority(role));

}

autoridades de retorno;

}