Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.com.sl.domain.service.impl;

import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;

import br.com.sl.domain.dto.UsuarioDTO;
import br.com.sl.domain.service.ContextoSeguranca;
import br.com.sl.shared.SistemaAuthentication;

@Component
public class ContextoSegurancaImpl implements ContextoSeguranca {
       
        @Override
        public UsuarioDTO obterUsuario() {
                Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
               
                UsuarioDTO usuario = new UsuarioDTO();
               
                if (authentication instanceof SistemaAuthentication) {
                        authentication = (SistemaAuthentication) authentication;
                        UsuarioDTO usuarioAuthentic = (UsuarioDTO) authentication.getDetails();
//                      Usuario usuarioAuthentic = (Usuario) authentication.getDetails();
                        usuario.setSequencial(usuarioAuthentic.getSequencial());
                        usuario.setLogin(((SistemaAuthentication) authentication).getLogin());
                        usuario.setNome(usuarioAuthentic.getNome());
//                      usuario.setParametros(usuarioAuthentic.getParametros());
                }
                /*
                Collection<GrantedAuthority> authorities = authentication.getAuthorities();
                for (GrantedAuthority grantedAuthority : authorities) {
                        usuario.getPermissoes().add(grantedAuthority.toString());
                }
                */

                return usuario;
        }

/*      public static Usuario converterParaUsuario(Usuario usuario){
                Usuario  = new Usuario();
                .setNomeUsuario(usuario.getNomeUsuario());
               
                String[] permissoes = new String[usuario.getPermissoes().size()];
                int index = 0;
                for (String permissao : usuario.getPermissoes()) {
                        permissoes[index] = permissao;
                        index++;
                }
                .setPermissoes(permissoes);

                return ;
        }*/

       
}