spring security:jdbc-user-service を使用してログイン モジュールを作成しました。しかし、次の SQLErrorCode 例外が発生しています。これは私のコードです。
データ ソース Bean:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="minPoolSize" value="1" />
<property name="maxPoolSize" value="1" />
</bean>
セキュリティ認証:
<security:http auto-config='true'>
<security:intercept-url pattern="/**" access="ROLE_USER" />
<security:form-login login-page='/login'
default-target-url='/' always-use-default-target='true' />
</security:http>
<security:authentication-manager>
<security:authentication-provider>
<security:jdbc-user-service data-source-ref="dataSource"
users-by-username-query="select username,password,enabled from userdetails where username=?"
authorities-by-username-query="select u.username, ur.authority from userdetails u, userrole ur
where u.id = ur.userid and u.username =? "
/>
</security:authentication-provider>
例外:
org.springframework.beans.factory.support.DefaultListableBeanFactory - Overriding bean definition for bean 'H2':
replacing [Generic bean: class [org.springframework.jdbc.support.SQLErrorCodes]; scope=; abstract=false; lazyInit=fals
e; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=nu
ll; initMethodName=null; destroyMethodName=null; defined in class path resource [org/springframework/jdbc/support/sql-e
rror-codes.xml]] with [Generic bean: class [org.springframework.jdbc.support.SQLErrorCodes]; scope=; abstract=false; la
zyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMe
thodName=null; initMethodName=null; destroyMethodName=null; defined in class path resource [sql-error-codes.xml]]
security:user-service プロバイダーを使用している場合、正常に動作しますが、JDBC プロバイダーを使用すると、この例外が発生します。私の security:user-service コードは次のとおりです。
<security:user-service>
<security:user name="admin" password="admin"
authorities="ROLE_USER, ROLE_ADMIN" />
<security:user name="talha" password="talhapassword"
authorities="ROLE_USER" />
</security:user-service>