barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

четверг, 2 февраля 2012 г.

Использование JNDI DataSource в Spring Secutiry

При конфигурации Spring Security можно задать bean с явными настройками соединения с БД, в которой хранится информация о пользователях:
<beans:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<beans:property name="driverClassName" value="org.postgresql.Driver"/>
<beans:property name="url" value="jdbc:postgresql://localhost:5432/myuserdb"/>
<beans:property name="username" value="postgres"/>
<beans:property name="password" value="postgres"/>
</beans:bean>
<beans:bean id="userDetailsService"
 class="org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl">
<beans:property name="dataSource" ref="dataSource"/>      
</beans:bean>

Однако существует возможность извлекать dataSource, используя JDNI-интерфейс:
<beans:bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
  <beans:property name="jndiName" value="java:/comp/env/jdbc/myuserdb"/>
</beans:bean>
Такой подход позволяет в качестве dataSource использовать пул соединений с БД (как настроить его, я писал ранее тут).


Комментариев нет:

Отправить комментарий