sexta-feira, 11 de novembro de 2011

Seam Security e JSF 2.0

Olá pessoa,

Nesta parte final do tutorial irei fazer o código das páginas e fazer o deploy no JBoss 6.

O código da página login.xhtml ficará da seguinte forma:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head></h:head>
<body>
<h:form>
<h:inputText value="#{loginController.credentials.username}" />
<h:commandButton id="Submit" action="#{identity.login}" value="Login" />
</h:form>
</body>
</html>

O código da página cadastro.xhtml ficará da seguinte forma:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head></h:head>
<body>
<h:form>
<h:inputText value="#{cadastroController.user.username}" />
<h:commandButton value="Salvar" action="#{cadastroController.save}" />
</h:form>
</body>
</html>

A aplicação está pronta, agora irei mostrar como fazer o deploy e depois alguns testes parar testar autenticação e autorização.

Para fazer o deploy, primeiramente primeiramente precisamos compilar o projeto com o Maven.

Abra o prompt no windows ou o shell no linux, depois de aberto, entre no diretório até aonde esta seu projeto, no meu caso irei digitar:

     cd Project\workspace\Tutorial

Entrando neste diretório, vamos compilar a aplicação, para isso digite:

     mvn clean install

Depois de compilar, olhe no eclipse, será criada uma pasta com o nome "target" na estrutura do projeto, se não aparecer esta pasta basta clicar na raiz do projeto e apertar F5. Dentro desta pasta terá um arquivo chamado "Tutorial-0.0.1-SNAPSHOT.war".

Deverá aparecer a seguinte tela:



Agora a estrutura será a seguinte:





Copie o arquivo "Tutorial-0.0.1-SNAPSHOT.war" para a pasta deploy do JBoss, no meu caso irei copiar o arquivo para o diretório informado abaixo:

       D:\java\jboss-6.1.0.Final\server\default\deploy

Agora só falta subir o projeto e fazer os teste, para subir o projeto abra um novo prompt ou shell e digite a seguinte linha de comando, no meu caso será:

  cd D:\java\jboss-6.1.0.Final\bin

No Windows:
   D:\java\jboss-6.1.0.Final\bin> run.bat

No Linux:
   java\jboss-6.1.0.Final\bin: sh run.sh

Deverá aparecer a seguinte tela:


Agora sim! o deploy da aplicação está completo. Basta acessarmos a aplicação com o endereço "http://localhost:8080/Tutorial-0.0.1-SNAPSHOT/login.jsf" e fazer os testes.

O teste que irei fazer é tentar acessar a página "cadastro.jsf" antes de fazer o login e, como colocamos nas restrições que era para elas serem aplicados no construtor da classe, não conseguirei entrar na página, sendo assim, será lançada a exceção abaixo:


A anotação @LoggedIn verifica se o usuário está logado ou não, ela também pode estar no escopo de classe ou de método.

Bem pessoal, acho que é isso.

Obrigado.





Nenhum comentário:

Postar um comentário