Olá galera. Estou com o seguinte problema: Rodo uma aplicação em Flex, e quero restringir o acesso por ip em um dos arquivos. Estou conseguindo restringir utilizando um Servlet Filter, e está funcionando, porém, quero que na hora da restrição seja mostrada uma mensagem ao usuário informando que ele não possui acesso àquela área. O problema: como estou restringindo o arquivo swf gerado (o MXML do flex), ele apenas não consegue entrar na página, mas não mostra a mensagem pro usuário, nem mensagem de erro e nem jogando no PrintWriter. Alguém tem alguma idéia de como posso fazer ? Algo como, chamar um método do MXML, ou redirecionar o usuário para outro MXML , não tenho idéia de como fazer isso. Obrigado!
Tem mais de uma forma de resolver seu problema, eu não tenho os códigos para sua solução apenas as idéias. Aqui vai 3 alternativas.
1 - Primeiro na página que você quer que restrinja faça uma chamada para a servlet no método ao iniciar a página se der tudo certo não faça nada e deixe o swf carregar normalmente, senão faça o redirecionamento para a página que desejar.
2 - Crie 3 páginas(uma para chamar a servlet, uma para chamar o swf e outra para chamar o código javascript de erro) , na que chama a servlet faça uma chamada para a servlet no método load da página(essa página pode ou não chamar o swf) usando ajax onde você fará o redirecionamento na servlet para a página de erro ou para a página que chama o swf, então ao retorna atribua ela a um div que será um inserção de código na sua página.
3 - use ‘states’ no código flex, exemplo o 1º ‘state’ principal que não irá conter nada mais ao inicia-lo chamará o servlet que deve retornar uma valor para o mesmo, o 2º ‘state’ será para a o conterá tudo que você quer mostrar se tudo der certo e o 3º ficará apenas a mensagem de erro ao inicia-lo. Então ao terminar de fazer a chamada e receber o retorno verifique se deu tudo certo ou não em seguida mude para o ‘state’ que desejar.