PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Login não funciona - spring security #506923

10/01/2015

0

Olá pessoal,

Configurei minha aplicação para utilizar o spring security. Só que após a autenticação, o spring security não redireciona para a página defininida. Será que alguém poderia identificar o que fiz de errado? Segue abaixo os códigos:

applicationContext-security.xml

<?xml version="1.0" encoding="UTF-8"?>
<b:beans xmlns="http://www.springframework.org/schema/security"
  xmlns:b="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/security
           http://www.springframework.org/schema/security/spring-security.xsd">
	<http>
            <!-- Indica quais páginas ou diretórios serão seguros -->
            <intercept-url pattern="/admin/**" access="ROLE_ADMINISTRADOR" />
            <intercept-url pattern="/restrito/**" access="ROLE_USUARIO" />
            <!-- Configura o funcionamento da página de login  -->
            <form-login login-page="/publico/login.jsf"
			always-use-default-target="true" 
			default-target-url="/restrito/principal.jsf"
			authentication-failure-url="/publico/login.jsf?login_error=1" />
            <logout />
            <!-- Permite que o login automático no sistema seja habilitado -->
            <remember-me />
	</http>

        <!-- Informa ao Spring quais são os usuários válidos do sistema e suas permissões -->
	<authentication-manager>
            <authentication-provider>
                <!-- Faz com que o Spring Security seja capaz de criptografar a senha digitada no login e compará-la com a senha criptografada no bd -->
                <password-encoder hash="md5" />

                <!-- Permite declarar as SQLs que fornecerão os dados que o Spring Security necessita --> 
		<jdbc-user-service data-source-ref="segurosDataSource"
                                   authorities-by-username-query="select u.login, p.permissao 
				 				  from usuario u, usuario_permissao p 
                                                                  where u.codigo = p.usuario_codigo and u.login = ?"
                                   users-by-username-query="select login, senha, ativo 
							    from usuario 
                                                            where login = ?" />
            </authentication-provider>
	</authentication-manager>
</b:beans>


applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:security="http://www.springframework.org/schema/security"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
          http://www.springframework.org/schema/security
          http://www.springframework.org/schema/security/spring-security.xsd">
  
    <!-- Cria a referência segurosDataSource do tipo JndiObjectFactoryBean apontando para o DataSource JNDI jdbc/segurosdb -->
    <bean id="segurosDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName">
            <value>java:comp/env/jdbc/segurosdb</value>		
	</property>
    </bean>
    <import resource="applicationContext-security.xml"/>
</beans>


index.xhtml

<meta http-equiv="Refresh" content="0; url=restrito/principal.jsf">


login.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:p="http://primefaces.org/ui">

<h:head>
     <title>Autenticação</title>
</h:head>
<h:body onload="document.content.dialog.login.j_username.focus();">
     <div id="content" title="Login">
          <p:dialog header="Login" id="dialog" minWidth="400"
                    width="400" modal="true" closable="false" position="center"
                    showEffect="slide" draggable="true" resizable="false" visible="true">           

                    <form name="frmlogin" action="#{request.contextPath}/j_spring_security_check" method="post">
                         <p:panelGrid columns="2">
			      <p:outputLabel for="j_username" value="Usuário: " />
                              <p:inputText id="j_username" required="true" />

			      <p:outputLabel for="j_password" value="Senha: " />
                              <p:password id="j_password" required="true" />

                              <f:facet name="footer">
                                <p:row>
                                    <p:selectBooleanCheckbox id="_spring_security_remember_me" />
                                    <p:outputLabel value="Mantenha-me conectado"  style="font-size: 12px; font-family: Arial"/>
                                </p:row>
                              </f:facet>               
                         </p:panelGrid>
                         <p:outputPanel style="width: 100%; text-align: center" layout="block">
                            <input name="submit" type="submit" value="Entrar" />
                         </p:outputPanel>
                    </form>
           </p:dialog>
       </div>
</h:body>
</html>
Sgrandini

Sgrandini

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar