所以我在MySqlWorkbench中创建了名为“demodb”的SQL模式,在这个模式中我有一个包含3列的表(Username,Pass,Auth)
问题:
当我运行我的应用程序并且登录表单出现时,即使我输入了正确的用户名和密码,Auth
列设置为“ROLE_USER”,我也无法继续。
3次尝试后得到错误401。
这是我的SecConfig.xml
<sec:http auto-config="true">
<sec:intercept-url pattern="/**" access="ROLE_USER"/>
<sec:http-basic/>
</sec:http>
<sec:authentication-manager>
<sec:authentication-provider user-service-ref="myUserDeatilsService"/>
</sec:authentication-manager>
<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/demodb?useSSL=false" />
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="myUserDeatilsService" class="org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl">
<property name="dataSource" ref="dataSource"></property>
</bean>
信息:加载了SQLErrorCodes:[DB2,Derby,H2,HSQL,Informix,MS-SQL,MySQL,Oracle,PostgreSQL,Sybase,Ha
答案 0 :(得分:0)
对于Spring Security,您应该为Users和User Roles表定义查询。
请参阅spring security docs for examle:spring security doc
另见Mkyong的精彩指南:Spring Security form login using database