====== Autenticação em Sistemas Desktop ======
A realização de autenticação em sistemas desktop é feita através da utilização de um serviço remoto disponibilizado pela arquitetura. Para isso, deve-se acrescentar as seguintes classes no projeto Desktop:
* br.ufrn.arq.erros.TokenNaoValidadoException
* br.ufrn.integracao.dto.InfoUsuarioDTO
* br.ufrn.integracao.dto.PermissaoDTO
* br.ufrn.integracao.interfaces.AutenticacaoUsuarioRemoteService
* br.ufrn.integracao.interfaces.TokenAutenticacaoRemoteService
* br.ufrn.integracao.seguranca.TokenAuthHttpInvokerProxyFactoryBean
Além de adicionar os seguintes jars ao classpath:
* spring.jar
* commons-logging.jar
* commons-beanutils.jar
Em seguida, será necessário criar um arquivo applicationContext.xml e declarar os beans com o serviço remoto de autenticação e o serviço de autenticação por token, pois o primeiro depende deste. Abaixo segue um exemplo de configuração:
Para utilizar, basta pegar o bean autenticacaoUsuarioInvoker no application context e utilizar seus métodos, conforme pode-se ver na listagem abaixo:
ApplicationContext ac = new ClassPathXmlApplicationContext("teste/applicationContext.xml");
AutenticacaoUsuarioRemoteService service = (AutenticacaoUsuarioRemoteService) ac.getBean("autenticacaoUsuarioInvoker");
if (service.autenticaUsuario("fulano", "1234")) {
InfoUsuarioDTO usuario = service.carregaInfoUsuario("fulano");
List permissoes = service.carregaPermissoes(usuario);
// ...
}