====== Passaporte para Sistemas Desktop ====== Utilizado quando um sistema desktop precisa abrir uma URL do sistema web. Assim, é necessário que o usuário seja automaticamente logado no sistema para o qual ele deseja ir, fazendo-se necessária a criação de um passaporte de logon. A criação de um Passaporte de Logon em sistemas desktop pode ser feita através do uso de um serviço remoto chamado ''PassaporteDesktopService''. ===== Utilizando o passaporte ===== O passaporte para sistemas desktop é criado através de um serviço remoto que utiliza o Spring Remoting. Assim, para que a aplicação utilize o passaporte, ela deve possuir as bibliotecas do Spring em seu classpath. Além disso, é necessário criar no seu ''applicationContext.xml'' o seguinte bean: Onde ''serviceUrl'' é a URL do serviço remoto, que está implantado no contexto shared na URL ''/remoting/PassaporteService''; e serviceInterface é a interface remota do serviço, que é a ''br.ufrn.arq.desktop.PassaporteDesktopService''. Em seguida, é necessário invocar o serviço através do lookup do bean passaporteDesktopService no Application Context do Spring, e chamar o método criarPassaporte, passando como parâmetros o id do usuário, o login do usuário, o sistema de origem e o sistema de destino, conforme mostrado no código abaixo: ApplicationContext ac = new ClassPathXmlApplicationContext("br/ufrn/arq/desktop/applicationContext.xml"); PassaporteDesktopService service = (PassaporteDesktopService) ac.getBean("passaporteDesktopService"); service.criarPassaporte(3232, "david", 3, 2); ===== Chamando a URL do Sistema Web ===== Após criar o passaporte, é necessário chamar a URL do sistema web utilizando o browser do usuário. Para isso, foi criada a classe ''ChamarSubsistema'', que possui o método estático chamar(), para o qual passamos como argumento a URL desejada. Um exemplo completo pode ser visto no código abaixo, no qual criamos o passaporte e chamamos a URL: ApplicationContext ac = new ClassPathXmlApplicationContext("br/ufrn/arq/desktop/applicationContext.xml"); PassaporteDesktopService service = (PassaporteDesktopService) ac.getBean("passaporteDesktopService"); service.criarPassaporte(3232, "david", 3, 2); ChamarSubsistema.chamar("http://localhost:8080/sigaa/logar.do?dispatch=logOn&&user.login=david&passaporte=true&url=/sigaa/portais/discente/discente.jsf");