使用shiro 1.2.1对数据库进行身份验证

Pra*_*pta 5 java security authentication guice shiro

我在项目中使用Apache Shiro。当前我正在使用1.1.0版本,现在我正在尝试将Shiro组件迁移到最新版本1.2.1。但是,当我尝试对数据库进行用户身份验证时,由于某种原因它无法正常工作,并且没有收到任何错误,但身份验证没有发生。

以下是我在shiro.ini文件中提供的数据库详细信息。

[main]
cacheManager = com.cacheManager.ShiroCacheManager
securityManager.cacheManager = $cacheManager

jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm

jdbcRealm.authenticationQuery = select user_pass from users where user_name = ?
jdbcRealm.userRolesQuery = select role_name from user_roles where user_name = ?

ds = com.mysql.jdbc.jdbc2.optional.MysqlDataSource
ds.serverName = 192.168.0.75
ds.port  = 3306
ds.user = test
ds.databaseName = appfuse
jdbcRealm.dataSource = $ds
Run Code Online (Sandbox Code Playgroud)

但是它仍然没有访问数据库。我正在使用tomcat服务器并尝试使用guice和shiro集成示例...

在这方面的任何帮助都非常感谢,并在此先感谢您的帮助!

谢谢与问候,
Gupta Katakam

dur*_*597 1

1.1 和 1.2 之间有很多不同之处可能会影响您的问题......这是我认为最有可能的一个

  • SHIRO-178 shiro.ini 现在应该位于 WEB-INF 文件夹中。你的移动了吗?

此外,还有许多与身份验证相关的更改:

  1. SHIRO-23将 Jsecurity 与 Guice 集成
  2. SHIRO-213密码和哈希管理
  3. SHIRO-279创建一个简单的命令行实用程序来哈希密码
  4. SHIRO-280创建一个PasswordService来自动化用户密码管理技术
  5. SHIRO-287允许非请求线程静态访问 Web 配置的 SecurityManager

我认为这是第一个,但完整的发行说明列表可以在这里找到1.2.0 和1.2.1