为JDBC连接配置shiro.ini

时间:2016-01-06 16:27:49

标签: apache shiro

作为新一年学习新技术计划的一部分,我开始讨论Apache Shiro安全框架。

我设法在shiro.ini文件中获得了存储用户名,密码和角色的基本示例,但是当我修改shiro.ini文件以使用JDBC时,它就停止了工作。在尝试访问我的应用程序时,我现在不断收到提示输入用户名和密码。我保持尽可能简单(密码甚至没有哈希)。

下面是我的shiro.ini文件,有没有人知道我做错了什么?

success

1 个答案:

答案 0 :(得分:1)

如果您未授予权限查询,则最好禁用权限查找。此外,如果您想使用基本身份验证,请使用authc属性。

尝试以下

    [main]
    #authc.usernameParam = j_username
    #authc.passwordParam = j_password
    #authc.failureKeyAttribute = shiroLoginFailure

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

    jdbcRealm.authenticationQuery = SELECT password FROM user WHERE username = ?
    jdbcRealm.userRolesQuery = SELECT role FROM user WHERE username = ?

    ds = com.mysql.jdbc.jdbc2.optional.MysqlDataSource
    ds.serverName = localhost
    ds.user = root
    ds.password = password
    ds.databaseName = database
    jdbcRealm.dataSource = $ds

    # Use Built-in Chache Manager
    builtInCacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
    securityManager.cacheManager = $builtInCacheManager

    securityManager.realms = $jdbcRealm

    [users]
    [roles]
    [urls]
    /* = authcBasic