Я использую Spring security для проверки логина пользователя.Учетные данные пользователя хранятся в базе данных.Вот соответствующий раздел из моего файла " appContext-security.xml ".
Этот код работает, но моя проблема в том, что я использую необработанный запрос SQL Теги « запрос пользователя по имени пользователя » и « полномочия по запросу имени пользователя ». Таким образом, если мне придетсяподдержка нескольких баз данных, и если синтаксис Sql варьируется, у меня возникает проблема.
Итак, могу ли я поместить эти запросы в какую-либо форму класса Java? так, чтобы я мог легко изменить синтаксис SQL в этом классе Java исделать эти SQL зависимыми от БД ?
<authentication-manager alias="authManager">
<authentication-provider>
<password-encoder hash="md5"/>
<jdbc-user-service data-source-ref="jndiDataSource"
users-by-username-query="select name, password, enabled from USER where user_status<>0 and name=?"
authorities-by-username-query="select m.name,p.name from USER m, ROLE p where m.name=? and m.application_role=p.id"/>
</authentication-provider>
</authentication-manager>
<beans:bean id="jndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<beans:property name="jndiName" value="java:/appManaged"/>
</beans:bean>
Любая помощь будет высоко ценится.