1

我将 JAAS 与 JBoss 一起使用为 7。使用的登录模块是DatabaseServerLoginModule. 这是我的配置:

<login-module code="Database" flag="required">
    <module-option name="dsJndiName" value="java:jboss/datasources/oracleDS"/>
    <module-option name="principalsQuery" value="SELECT PASSWD FROM FO.USERS WHERE USERNAME=?"/>
    <module-option name="rolesQuery" value="SELECT USERROLES, 'ROLES' FROM FO.USERROLES WHERE USERNAME=?"/>
</login-module>

身份验证成功进行,没有任何问题(登录模块能够恢复给定用户名的密码)。但我的问题是它无法使用 恢复角色rolesQuery,因此授权失败。例如,对于krisv具有角色的用户dme,如果我在 eclipse 中执行rolesQuery内部 a scrapbook,我会得到以下结果: 但是,当我想访问具有角色的在此处输入图像描述
网页时,我会得到以下结果: dmeauth-constraint在此处输入图像描述

4

1 回答 1

1

'ROLES' 部分由 JBOSS 读取,它只理解驼峰式它应该读取 'Roles' 告诉我这对你来说是如何工作的

"SELECT USERROLES, 'Roles' FROM FO.USERROLES WHERE USERNAME=?"
于 2013-05-21T14:53:19.217 回答