Spring security com jsf <h:form>

4 respostas
V

Oi pessoal estou usando o spring security desse modo e funciona perfeitamente

<form id="login" method="post" action="/meuprojeto/j_spring_security_check">
<table>
<tr><td>Login</td>
<td><input type="text" name="j_username"/></td></tr>
<tr><td>Senha</td>
<td><input type="password" name="j_password"/></td></tr>
<tr><td align="right"><input type="checkbox" name="_spring_security_remember_me"/></td>
<td>Entrar Automaticamentse</td></tr>
<tr><td></td>
<td><input type="submit" value="Entrar"/></td>
</tr> 
</table>
</form>

O formulario passa via post os parametros username e senha só que eu gostaria de usar o componente jsf <h:form> e <h:commandButton> ao em vez de e e não sei como fazer isso já que o <h:form> não aceita o paremetro action e o action do <h:commandButton> só aceita metodosBean.

Enfim minha dúvida é essa, espero que tenha sido claro e agradeço desde já.

4 Respostas

finotti
Eu fiz assim:
&lt;h:form prependId="false"&gt;
	   		&lt;p:dialog header="Área restrita"
	   				  modal="true"
	   				  closable="false"
	   				  position="center"
	   				  widgetVar="modalLogin"
	   				  minWidth="300"
	   				  width="300"
	   				  showEffect="slide" 
	   		    	  draggable="false"
	   		    	  resizable="false"
	   		    	  visible="true"&gt;		 
	   				 
	   			&lt;center&gt;	 
	   				 
				   	&lt;p:messages id="mensagens" showDetail="true" showSummary="false" /&gt;    				 
		   				 
		   			&lt;h:panelGrid columns="2"&gt;   		
		     	
				      	&lt;h:outputLabel value="Login" /&gt;
		     			&lt;h:inputText id="j_username" size="15" /&gt;
		
				 		&lt;h:outputLabel value="Senha" /&gt;
						&lt;h:inputSecret id="j_password" size="15" /&gt;
										
					&lt;/h:panelGrid&gt;
					
					<br />	
		
					&lt;h:commandButton value="Entrar" action="#{loginMB.logar}" /&gt;		
					
				&lt;/center&gt;
					
			&lt;/p:dialog&gt;
				
	 	&lt;/h:form&gt;
LoginMB
public String logar() {
		try {
		    RequestDispatcher dispatcher = FacesUtil.getServletRequest().getRequestDispatcher("/j_spring_security_check");
		    dispatcher.forward(FacesUtil.getServletRequest(), FacesUtil.getServletResponse());
		    FacesContext.getCurrentInstance().responseComplete();
		} catch (Exception ex) {
			FacesUtil.exibirMensagemErro(ex.getMessage());
			return null;
		}
	    return null;
	}
V

Tu podes me mostrar a implementação desse metodos da classe FacesUtil pra eu tentar?
Obrigado pela atenção.

V

Eu vi no seu blog, vlw.
Agora depois de fazer o login ele dá o seguinte erro.

HTTP Status 404 - /meuprojeto/j_spring_security_check

type Status report

message /meuprojeto/j_spring_security_check

description The requested resource (/meuprojeto/j_spring_security_check) is not available.
Apache Tomcat/6.0.35

anakromeiro

Olá,

alguém tem alguma dica para resolver este problema?

estou implementando um sistema utilizando Spring 3.0 + Hibernate 3.6 e agora estou tentando utilizar o Spring Security 3.0.
Estou utilizando minha própria página de login (que é a página inicial do sistema) e não a página de login default do spring security, mas fica dando o erro

HTTP Status 404 - /j_spring_security_check

Criado 30 de janeiro de 2012
Ultima resposta 18 de mai. de 2012
Respostas 4
Participantes 3