Coloquei o SpringSecurity pra fucionar, tento acessar uma pagina e ele me direciona para a pagina de login. Até ae OK, quando eu tento efetuar o login ele nao faz nada, nao trava, nao da erro, nao avança, nao volta. kkkkkkkk queria saber como ele direcionar para a pagina de logado…
<?xml version="1.0" encoding="UTF-8"?>
<b:beans xmlns="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:b="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<http auto-config="true" >
<!-- Don't set any role restrictions on login.jsp -->
<intercept-url pattern="/jsp/login.xhtml" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<!-- Restrict access to ALL other pages -->
<intercept-url pattern="/jsp/privado/*.xhtml" access="ROLE_USER" />
<!-- Set the login page and what to do if login fails -->
<form-login login-page="/jsp/login.xhtml"
authentication-failure-url="/jsp/login.xhtml?login_error=1" default-target-url="/jsp/sucesso.xhtml"
login-processing-url="/j_spring_security_check"
/>
</http>
<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="SELECT login as username, senha as password, 'true' as enable FROM usuario WHERE login = ?"
authorities-by-username-query="SELECT u.login as username, n.nome as authority FROM usuario u, usuarionivel n WHERE u.nivel_id = n.id AND u.login = ?" />
</authentication-provider>
</authentication-manager>
<b:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<b:property name="url"
value="jdbc:mysql://localhost:3306/decom" />
<b:property name="driverClassName" value="com.mysql.jdbc.Driver" />
<b:property name="username" value="rootx" />
<b:property name="password" value="root" />
</b:bean>
</b:beans>
crie uma classe qualquer anote-a como @Component(“algumaCoisa”) e extenda: SavedRequestAwareAuthenticationSuccessHandler e implemente: Filter, LogoutSuccessHandle
quando o usuário fizer a autenticação vai ser chamado o method onAuthenticationSuccess.
Nele vc pode add cookies… pegar as perms do usuário e fazer responses. Podendo redireciona-lo para uma página, por exemplo.
Fala pessoal, blz?
Invadindo aqui o post =)
eu estou batendo cabeça com isso e não faço mais a minima ideia do que fazer.
Não sei se o q fiz esta correto, mas qdo clico em login simplesmente nao acontece nada.
meu spring-security.xml
<?xml version="1.0" encoding="UTF-8"?>
<b:beans xmlns="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:b="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<http auto-config="true" >
<!-- Don't set any role restrictions on login.jsp -->
<intercept-url pattern="/login.xhtml" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<!-- Restrict access to ALL other pages -->
<intercept-url pattern="/paginas/privado/*.xhtml" access="ROLE_USER" />
<!-- Set the login page and what to do if login fails -->
<form-login login-page="/login.xhtml"
authentication-failure-url="/login.xhtml?login_error=1" default-target-url="/paginas/inicio.xhtml"
login-processing-url="/j_spring_security_check" authentication-success-handler-ref="algumaCoisa"
/>
</http>
<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="SELECT login_usuario, login_senha FROM login limit 1"
authorities-by-username-query="SELECT login_usuario, login_senha FROM login limit 1" />
</authentication-provider>
</authentication-manager>
<b:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<b:property name="url"
value="jdbc:mysql://localhost:3306/formafit" />
<b:property name="driverClassName" value="com.mysql.jdbc.Driver" />
<b:property name="username" value="root" />
<b:property name="password" value="erz84b626" />
</b:bean>
</b:beans>
Nesse caso coloquei um limit só p trazer algo no resultado.