Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 18-Jan-2017 17:35:05.197 SEVERE [http-nio-8084-exec-18] com.sistemaac.springsecurity.SACUserDetailsService.loadUserByUsername Problemas com a tentativa de conexão!
- public class SACUserDetailsService implements UserDetailsService {
- private static final Logger logger = Logger.getLogger(SACUserDetailsService.class.getSimpleName());
- private final UsuarioBusiness usuarioBusiness = CDIServiceLocator.getBean(UsuarioBusiness.class);
- private final GrupoPermissaoBusiness grupoPermissaoBusiness = CDIServiceLocator.getBean(GrupoPermissaoBusiness.class);
- public SACUserDetailsService() {
- }
- @Override
- public UserDetails loadUserByUsername(String login) throws UsernameNotFoundException {
- try {
- SACUserDetails userDetails = buscarUsuario(login);
- Collection<GrantedAuthority> permissoesPorUsuario = buscarPermissoes(login);
- userDetails.getAuthorities().addAll(permissoesPorUsuario);
- return userDetails;
- } catch (Exception e) {
- logger.log(Level.SEVERE, "Problemas com a tentativa de conexão!", e);
- throw new UsernameNotFoundException("Problemas com a tentativa de conexão!", e);
- }
- }
- public SACUserDetails buscarUsuario(String login) throws SQLException {
- Usuario usuario = usuarioBusiness.findByUserName(login);
- String nome;
- String password;
- boolean ativo;
- if(usuario !=null){
- throw new UsernameNotFoundException("Usuário " + login + " não encontrado!");
- }else{
- nome = usuario.getLogin();
- password = usuario.getSenha();
- ativo = usuario.getAtivo();
- }
- return new SACUserDetails(nome, login, password, ativo);
- }
- public Collection<GrantedAuthority> buscarPermissoes(String login) throws SQLException {
- List<GrantedAuthority> permissoes = new ArrayList<>();
- Usuario usuario = usuarioBusiness.findByUserName(login);
- for(Iterator<GrupoPermissao> iter = usuario.getGrupoPermissaoUsuarios().iterator();
- iter.hasNext();) {
- permissoes.add(new SimpleGrantedAuthority(grupoPermissaoBusiness.preparaPermissao(iter.next()).getGrupoPermissao()));
- }
- return permissoes;
- }
- @RequestScoped
- @Getter
- @Setter
- public class UsuarioBusiness implements Serializable{
- private static final long serialVersionUID = 1L;
- private UsuarioLazyDataModel usuarios;
- @Inject
- private GrupoPermissaoBusiness grupoPermissaoBusiness;
- private UsuarioDao usuarioDao = CDIServiceLocator.getBean(UsuarioDao.class);
- public Usuario findByUserName(String login){
- return usuarioDao.findByUserName(login);
- }
- }
- @Dependent
- public class UsuarioDao extends FiltroGenericDao<Usuario> implements Serializable{
- public UsuarioDao() {
- super(Usuario.class);
- }
- //Filtro usado no Lazy loading
- public List<Usuario> filtrados(UsuarioFiltro filtro){
- Criteria criteria = criarCriteriaFiltro(filtro);
- criteria.setFirstResult(filtro.getPrimeiroRegistro());
- criteria.setMaxResults(filtro.getQuantidadeRegistro());
- if(filtro.isAscendente() && filtro.getPropriedadeOrdenacao() != null){
- criteria.addOrder(Order.asc(filtro.getPropriedadeOrdenacao()));
- }else if(filtro.getPropriedadeOrdenacao() != null){
- criteria.addOrder(Order.desc(filtro.getPropriedadeOrdenacao()));
- }
- return criteria.list();
- }
- //Retorna a quantidade de Acessos filtrados
- public int quantidadeFiltrado(UsuarioFiltro filtro){
- Criteria criteria = criarCriteriaFiltro(filtro);
- //Faz o count dos registros
- criteria.setProjection(Projections.rowCount());
- //Como o resultado do rowcount é um único registro retorna uniqueResult
- return ((Number) criteria.uniqueResult()).intValue();
- }
- @Override
- public Criteria criarCriteriaFiltro(IFiltro filtro) {
- Criteria criteria = iniciarCriteria(null);
- UsuarioFiltro auxFiltro = (UsuarioFiltro) filtro;
- if(auxFiltro.getUsuario()!=null && !auxFiltro.getUsuario().trim().isEmpty()){
- criteria.add(Restrictions.ilike("login", auxFiltro.getUsuario().trim(), MatchMode.ANYWHERE));
- }
- return criteria;
- }
- public Boolean loginExiste(Usuario usuario) {
- Criteria criteria = iniciarCriteria(null);
- Criteria results = criteria.add(Restrictions.like("login", usuario.getLogin().trim(), MatchMode.EXACT));
- if(results.uniqueResult() != null){
- return true;
- }else{
- return false;
- }
- }
- public Boolean emailExiste(Usuario usuario) {
- Criteria criteria = iniciarCriteria(null);
- Criteria results = criteria.add(Restrictions.like("email", usuario.getEmail().trim(), MatchMode.EXACT));
- if(results.uniqueResult() != null){
- return true;
- }else{
- return false;
- }
- }
- public Boolean emailExisteByLogin(Usuario usuario) {
- Criteria criteria = iniciarCriteria(null);
- Criteria results = criteria.add(Restrictions.like("email", usuario.getEmail().trim(), MatchMode.EXACT));
- criteria.add(Restrictions.like("login", usuario.getLogin().trim(), MatchMode.EXACT));
- if(results.uniqueResult() != null){
- return true;
- }else{
- return false;
- }
- }
- public Boolean cpfExiste(Usuario usuario) {
- Criteria criteria = iniciarCriteria(null);
- Criteria results = criteria.add(Restrictions.like("cpf", usuario.getCpf(), MatchMode.EXACT));
- if(results.uniqueResult() != null){
- return true;
- }else{
- return false;
- }
- }
- public Usuario findByUserName(String login) {
- Criteria criteria = iniciarCriteria(null);
- Criteria results = criteria.add(Restrictions.like("login", login.trim(), MatchMode.EXACT));
- return (Usuario) results.uniqueResult();
- }
- public Usuario findByCpf (String cpf) {
- Criteria criteria = iniciarCriteria(null);
- Criteria results = criteria.add(Restrictions.like("cpf", cpf.trim(), MatchMode.EXACT));
- return (Usuario) results.uniqueResult();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement