2011-05-25 100 views
0

你好我正在嘗試在jboss上執行基於表單的身份驗證: 這些是我的配置文件。 登錄-config.xml中:JAAS在jboss上的網絡安全5

<application-policy name="MyPolicy"> 
<authentication> 
    <login-module flag="required" 
     code="org.jboss.security.auth.spi.DatabaseServerLoginModule"> 
     <module-option name="dsJndiName">java:/espritDS</module-option> 
     <module-option name="principalsQuery">SELECT password FROM users WHERE 
      username=?</module-option> 
     <module-option name="rolesQuery">SELECT groupname FROM groups WHERE 
      username=?</module-option> 
    </login-module> 
</authentication> 

的web.xml:

<!-- Security --> 
<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>secret</web-resource-name> 
     <url-pattern>/faces/secret/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admin</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/faces/login.jsp</form-login-page> 
     <form-error-page>/faces/loginError.jsp</form-error-page> 
    </form-login-config> 
</login-config> 

<security-role> 
    <role-name>admin</role-name> 
</security-role> 

和jboss-web.xml中:

<jboss-web> 
<!-- A security domain that restricts access --> 
<security-domain>java:/jaas/MyPolicy</security-domain> 
</jboss-web> 

我想我不需要設置用戶和角色文件,因爲我有一個數據庫,我插入了一些用戶和角色,但我有這個例外,沒有設法對付它: 11:57:26587錯誤[UsersRolesLoginModule]無法加載用戶/密碼/角色文件 產生java.io.IOException:無屬性文件:users.properties或默認:defaultUsers.properties發現

回答

2

您在rolesQuery中有錯誤。它應該看起來就像這樣:

<module-option name="rolesQuery">SELECT groupname, 'Roles' FROM groups WHERE 
     username=?</module-option> 

我沒有看到其他錯誤。

你可以閱讀更多關於DatabaseServerLoginModule模塊的位置:http://community.jboss.org/wiki/DatabaseServerLoginModule

+0

Stelmach感謝名單,這是一個錯誤,我也忘了重啓JBoss。 現在異常消失了。但是當我要求祕密頁面時,我不會重定向到登錄頁面。難道我在SQL請求中有其他錯誤嗎? – boskonovic 2011-05-25 13:31:40

+0

@boskonovic不客氣。我不知道爲什麼它不起作用。如果你使用SSL,可以檢查它是否配置。我認爲最好用適當的描述來提出另一個問題。 – 2011-05-25 19:17:04

+0

Stelmach現在很好,謝謝你。其實,沒有其他錯誤。我甚至成功地獲得了ssl的工作,但我並不需要整個應用程序的ssl。有什麼建議麼?我想我應該問你另一個問題。 – boskonovic 2011-05-25 20:56:27