Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.76 KB | None | 0 0
  1. 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!
  2.  
  3. public class SACUserDetailsService implements UserDetailsService {
  4.  
  5. private static final Logger logger = Logger.getLogger(SACUserDetailsService.class.getSimpleName());
  6.  
  7. private final UsuarioBusiness usuarioBusiness = CDIServiceLocator.getBean(UsuarioBusiness.class);
  8.  
  9. private final GrupoPermissaoBusiness grupoPermissaoBusiness = CDIServiceLocator.getBean(GrupoPermissaoBusiness.class);
  10.  
  11. public SACUserDetailsService() {
  12.  
  13. }
  14.  
  15. @Override
  16. public UserDetails loadUserByUsername(String login) throws UsernameNotFoundException {
  17.  
  18. try {
  19.  
  20. SACUserDetails userDetails = buscarUsuario(login);
  21.  
  22. Collection<GrantedAuthority> permissoesPorUsuario = buscarPermissoes(login);
  23.  
  24. userDetails.getAuthorities().addAll(permissoesPorUsuario);
  25.  
  26. return userDetails;
  27. } catch (Exception e) {
  28. logger.log(Level.SEVERE, "Problemas com a tentativa de conexão!", e);
  29. throw new UsernameNotFoundException("Problemas com a tentativa de conexão!", e);
  30. }
  31. }
  32.  
  33. public SACUserDetails buscarUsuario(String login) throws SQLException {
  34.  
  35. Usuario usuario = usuarioBusiness.findByUserName(login);
  36. String nome;
  37. String password;
  38. boolean ativo;
  39.  
  40. if(usuario !=null){
  41. throw new UsernameNotFoundException("Usuário " + login + " não encontrado!");
  42. }else{
  43. nome = usuario.getLogin();
  44. password = usuario.getSenha();
  45. ativo = usuario.getAtivo();
  46. }
  47.  
  48. return new SACUserDetails(nome, login, password, ativo);
  49. }
  50.  
  51.  
  52. public Collection<GrantedAuthority> buscarPermissoes(String login) throws SQLException {
  53. List<GrantedAuthority> permissoes = new ArrayList<>();
  54.  
  55. Usuario usuario = usuarioBusiness.findByUserName(login);
  56.  
  57. for(Iterator<GrupoPermissao> iter = usuario.getGrupoPermissaoUsuarios().iterator();
  58. iter.hasNext();) {
  59. permissoes.add(new SimpleGrantedAuthority(grupoPermissaoBusiness.preparaPermissao(iter.next()).getGrupoPermissao()));
  60. }
  61.  
  62. return permissoes;
  63. }
  64.  
  65. @RequestScoped
  66. @Getter
  67. @Setter
  68. public class UsuarioBusiness implements Serializable{
  69.  
  70. private static final long serialVersionUID = 1L;
  71.  
  72. private UsuarioLazyDataModel usuarios;
  73.  
  74. @Inject
  75. private GrupoPermissaoBusiness grupoPermissaoBusiness;
  76.  
  77. private UsuarioDao usuarioDao = CDIServiceLocator.getBean(UsuarioDao.class);
  78.  
  79. public Usuario findByUserName(String login){
  80. return usuarioDao.findByUserName(login);
  81. }
  82. }
  83.  
  84.  
  85.  
  86.  
  87. @Dependent
  88. public class UsuarioDao extends FiltroGenericDao<Usuario> implements Serializable{
  89.  
  90. public UsuarioDao() {
  91. super(Usuario.class);
  92. }
  93.  
  94.  
  95. //Filtro usado no Lazy loading
  96. public List<Usuario> filtrados(UsuarioFiltro filtro){
  97.  
  98. Criteria criteria = criarCriteriaFiltro(filtro);
  99.  
  100. criteria.setFirstResult(filtro.getPrimeiroRegistro());
  101. criteria.setMaxResults(filtro.getQuantidadeRegistro());
  102.  
  103. if(filtro.isAscendente() && filtro.getPropriedadeOrdenacao() != null){
  104. criteria.addOrder(Order.asc(filtro.getPropriedadeOrdenacao()));
  105. }else if(filtro.getPropriedadeOrdenacao() != null){
  106. criteria.addOrder(Order.desc(filtro.getPropriedadeOrdenacao()));
  107. }
  108.  
  109. return criteria.list();
  110. }
  111.  
  112.  
  113. //Retorna a quantidade de Acessos filtrados
  114. public int quantidadeFiltrado(UsuarioFiltro filtro){
  115.  
  116. Criteria criteria = criarCriteriaFiltro(filtro);
  117.  
  118. //Faz o count dos registros
  119. criteria.setProjection(Projections.rowCount());
  120.  
  121. //Como o resultado do rowcount é um único registro retorna uniqueResult
  122. return ((Number) criteria.uniqueResult()).intValue();
  123. }
  124.  
  125. @Override
  126. public Criteria criarCriteriaFiltro(IFiltro filtro) {
  127. Criteria criteria = iniciarCriteria(null);
  128. UsuarioFiltro auxFiltro = (UsuarioFiltro) filtro;
  129. if(auxFiltro.getUsuario()!=null && !auxFiltro.getUsuario().trim().isEmpty()){
  130. criteria.add(Restrictions.ilike("login", auxFiltro.getUsuario().trim(), MatchMode.ANYWHERE));
  131. }
  132. return criteria;
  133. }
  134.  
  135. public Boolean loginExiste(Usuario usuario) {
  136. Criteria criteria = iniciarCriteria(null);
  137. Criteria results = criteria.add(Restrictions.like("login", usuario.getLogin().trim(), MatchMode.EXACT));
  138. if(results.uniqueResult() != null){
  139. return true;
  140. }else{
  141. return false;
  142. }
  143. }
  144.  
  145. public Boolean emailExiste(Usuario usuario) {
  146. Criteria criteria = iniciarCriteria(null);
  147. Criteria results = criteria.add(Restrictions.like("email", usuario.getEmail().trim(), MatchMode.EXACT));
  148. if(results.uniqueResult() != null){
  149. return true;
  150. }else{
  151. return false;
  152. }
  153. }
  154. public Boolean emailExisteByLogin(Usuario usuario) {
  155. Criteria criteria = iniciarCriteria(null);
  156. Criteria results = criteria.add(Restrictions.like("email", usuario.getEmail().trim(), MatchMode.EXACT));
  157. criteria.add(Restrictions.like("login", usuario.getLogin().trim(), MatchMode.EXACT));
  158. if(results.uniqueResult() != null){
  159. return true;
  160. }else{
  161. return false;
  162. }
  163. }
  164. public Boolean cpfExiste(Usuario usuario) {
  165. Criteria criteria = iniciarCriteria(null);
  166. Criteria results = criteria.add(Restrictions.like("cpf", usuario.getCpf(), MatchMode.EXACT));
  167. if(results.uniqueResult() != null){
  168. return true;
  169. }else{
  170. return false;
  171. }
  172. }
  173.  
  174. public Usuario findByUserName(String login) {
  175. Criteria criteria = iniciarCriteria(null);
  176. Criteria results = criteria.add(Restrictions.like("login", login.trim(), MatchMode.EXACT));
  177.  
  178. return (Usuario) results.uniqueResult();
  179. }
  180.  
  181. public Usuario findByCpf (String cpf) {
  182. Criteria criteria = iniciarCriteria(null);
  183. Criteria results = criteria.add(Restrictions.like("cpf", cpf.trim(), MatchMode.EXACT));
  184.  
  185. return (Usuario) results.uniqueResult();
  186. }
  187.  
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement