1

JBoss を 7 として JAAS を使用しています。使用するログイン モジュールは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、 roleを持つユーザーの場合、eclipse で内部で admeを実行すると、次の結果が得られ ます。 rolesQueryscrapbookここに画像の説明を入力
dmeauth-constraintここに画像の説明を入力

4

1 に答える 1

1

「ROLES」の部分はJBOSSによって読み取られ、キャメルケースのみを理解します。「Roles」と読む必要があります。どのように機能するか教えてください

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