2013-05-21 45 views
1

我使用JAAS和JBoss作爲7.使用的登錄模塊是DatabaseServerLoginModule。下面是我的配置:JAAS DatabaseServerLoginModule rolesQuery不返回用戶角色

<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,如果我執行rolesQuery一個scrapbook在Eclipse中我得到這個結果裏面: enter image description here
然而,當我要訪問的網頁有作用dmeauth-constraint我得到如下: enter image description here

回答

1

的「角色」部分被JBOSS讀它只能理解駝峯應改爲「角色」告訴我如何工作的爲你

"SELECT USERROLES, 'Roles' FROM FO.USERROLES WHERE USERNAME=?" 
+0

非常感謝你。 – ahmehri