我使用 shiro 为我的 CXF Web 服务实现身份验证。我正在使用 jdbc-Realm 并在 ini 文件的帮助下配置它(附在下面)。身份验证数据与我需要的其他数据一样保存在同一个数据库中,但对于系统的其余部分,我使用属性文件(也可以在下面找到)来提供连接信息。
现在显然两种情况下数据源的数据是相同的,但我似乎没有找到解决此代码重复的方法。有没有比 Web 应用程序开发经验更丰富的人有解决方案?如果有帮助的话,我可以同时更改 shiro 和系统其余部分的配置。
在此先感谢,
扎库姆
shiro.ini:
[main]
jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm
jdbcRealm.permissionsLookupEnabled = true
jdbcRealm.authenticationQuery = SELECT password FROM users WHERE username = ?;
ds = org.postgresql.ds.PGSimpleDataSource
ds.user = postgres
ds.password = password
ds.databaseName = servicedb
ds.serverName = localhost
ds.portNumber = 5432
jdbcRealm.dataSource = $ds
securityManager.realms = $jdbcRealm
服务属性:
db. It looks like:
db.name = servicedb
db.user = postgres
db.password = password
db.url = //localhost:5432/