OSGi项目中的Apache Shiro JDBC Realm

时间:2017-01-24 07:25:52

标签: osgi shiro jdbcrealm

我正在尝试在OSGi项目中实现身份验证包,我决定使用这个功能强大的Apache Shiro框架。当我尝试使用这个shiro.ini文件启动JDBC领域时:

[main]

# Create JDBC realm.
jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm

# Configure JDBC realm datasource.
dataSource = org.postgresql.Driver
dataSource.URL = jdbc:postgresql://127.0.0.1:5432/user
dataSource.user = postgres
dataSource.password = postgres
jdbcRealm.dataSource = $dataSource

# Configure JDBC realm SQL queries.
jdbcRealm.authenticationQuery = SELECT password FROM Users WHERE email = ?
jdbcRealm.userRolesQuery = SELECT role from roles WHERE id = (SELECT roleId FROM UserRoles WHERE userId = (SELECT id FROM Users WHERE email = ?))

我收到此错误消息:

  

无法启动捆绑包   com.soner.prototype.auth.application.client-1.0.0.1,异常   激活器错误。无法实例化类[org.postgresql.Driver]   对于名为'dataSource'的对象。请确保您已指定   完全限定的类名正确。从:   org.apache.shiro.config.ReflectionBuilder:createNewInstance#309

我正在使用PostgreSQL,因为它在.ini文件中看到,并且我已经加载了PostegreSQL驱动程序包,然后才激活Shiro包。

我认为我应该拥有Shiro JDBC领域类,并且它们位于Apache Shiro Core包中,我将其作为包导入。有没有人有这个问题的想法或解决方法? Shiro是否仅在OSGi环境中使用其原生.ini文件域?

提前致谢..

0 个答案:

没有答案