Configuración Spring Security 2.0 con JDBC
Esta configuración funciona perfectamente, con Spring Security 2.0 y JDBC
En el web.xml
<context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext*.xml </param-value> </context-param> <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
applicationContext-security.xml
<?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="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-2.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.1.xsd"> <!-- CONFIGURACION VALIDA PARA SPRING SECURITY 2.0 con JDBC --> <http auto-config="true" access-denied-page="/web/error.do"> <intercept-url pattern="/" access="IS_AUTHENTICATED_ANONYMOUSLY" /> <intercept-url pattern="/login.do" access="IS_AUTHENTICATED_ANONYMOUSLY" /> <intercept-url pattern="/j_spring_security_switch_user" access="ROLE_SUPERVISOR" /> <intercept-url pattern="/web/css/**" access="ROLE_WEBMASTER" /> <intercept-url pattern="/templates/**" access="ROLE_WEBMASTER" /> <intercept-url pattern="/web/error/**" access="ROLE_USER" /> <form-login login-page="/login.do" default-target-url='/web/index.do' authentication-failure-url="/login.do?login_error=1" /> <logout logout-success-url="/" invalidate-session="true"/> </http> <authentication-provider user-service-ref="userService" /> <!-- MYSQL --> <beans:bean id="securityDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <beans:property name="driverClassName" value="org.gjt.mm.mysql.Driver" /> <beans:property name="url" value="jdbc:mysql://localhost/test" /> <beans:property name="username" value="root" /> <beans:property name="password" value="" /> </beans:bean> <jdbc-user-service id="userService" data-source-ref="securityDataSource" users-by-username-query="SELECT u.username AS Login, u.password AS Password, u.enabled AS Enabled FROM users u WHERE u.username = ?"/> </beans:beans>
Las tablas para que esto funcione.
CREATE TABLE users ( username VARCHAR(50) NOT NULL PRIMARY KEY, password VARCHAR(50) NOT NULL, enabled BIT NOT NULL ); CREATE TABLE authorities ( username VARCHAR(50) NOT NULL, authority VARCHAR(50) NOT NULL );





