我正在尝试使用 Spring Security 3.1.3 来保护 Web 应用程序。
目前我已经设置了一个简单的登录表单,它与在 security-app-context.xml 上硬编码的用户一起使用。现在我正试图继续让 spring 验证数据库中的用户,这就是我遇到的问题。
从我目前得到的信息来看,我需要在 applicationContext.xml 上为数据源放置一个 bean,然后在 security-app-context.xml 文件中引用该数据源:
应用contex.xml:
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/webproject" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
安全应用上下文.xml
<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource" />
</authentication-provider>
</authentication-manager>
但是当我这样做时,从数据库对用户进行身份验证不起作用。没有提出任何例外。
数据库上有两个表,用户(用户名,密码,启用)和权限(用户名,角色名)。我错过了什么吗?