我正在嘗試編寫一個LoginModule來驗證Jackrabbit存儲庫的用戶身份。但是,我希望它檢查存儲在存儲庫本身中的憑據。所以問題是,在我的LoginModule中,我必須再次連接到存儲庫,使其成爲一個無限循環。有什麼我可以做的嗎?使用自定義LoginModule登錄到Jackrabbit
3
A
回答
4
有一個2種基本方法:
提供一個管理員登錄到LoginModule的配置了,這樣它總是能夠連接到存儲庫的兔崽子庫。以管理員用戶身份連接時,使用所提供的憑據(對於正在進行身份驗證的普通用戶)查詢存儲庫以便對其進行身份驗證。
或者讓所有的用戶都使用Jackrabbit登錄設置,所以不要使用管理員登錄連接,而是嘗試使用提供的憑據進行連接,如果連接則用戶連接成功(通過這種方法,我經常將做一個簡單的查詢來仔細檢查連接是否有效,例如在存儲庫中查找用戶的真實姓名)。
在這兩種情況下,登錄模塊應包含直接連接到兔崽子,不應該要求登錄模塊本身連接到存儲庫的代碼。
1
在JeCARS項目中有一個自定義LoginModule(org.jecars.CARS_LoginModule)。它使用硬編碼管理用戶進行第一次訪問,並且由於只能通過servlet訪問存儲庫,因此會執行檢查以防止管理用戶的外部使用。
相關問題
- 1. JAAS自定義LoginModule
- 2. 編程登錄到JSF2 Web應用程序(JBoss)中的自定義JAAS LoginModule
- 3. 不能在自定義LoginModule
- 4. 當使用自定義登錄方法
- 5. 無法使用自定義loginProcessingUrl登錄
- 6. 使用azure AD自定義登錄
- 7. 使用xAuth自定義登錄?
- 8. 使用Angular.js自定義單一登錄
- 9. 使用自定義按鈕登錄Facebook
- 10. 使用CAS與自定義登錄頁
- 11. Websphere中的自定義LoginModule 7
- 12. 使用自定義URL Drupal的自定義登錄
- 13. 跳過Jackrabbit登錄提示
- 14. 使用Windows Identity Foundation重定向到自定義登錄頁面
- 15. MVC5登錄到自定義數據庫
- 16. 無法登錄到自定義的AMI
- 17. NServiceBus登錄到自定義日誌
- 18. 無法登錄到Django-Admin,但可以使用自定義表單登錄
- 19. laravel 5.2自定義登錄
- 20. 自定義登錄Simperium IOS
- 21. django tastypie自定義登錄
- 22. 在Django自定義登錄
- 23. Liferay自定義登錄Portlet
- 24. 自定義Silverstripe登錄表
- 25. 自定義登錄cakephp3
- 26. ASP.NET自定義登錄
- 27. 自定義登錄ASP.NET C#
- 28. Silverlight 4自定義登錄
- 29. 自定義登錄頁面
- 30. 自定義Openam登錄
謝謝。關於1:我們認爲它不安全,因爲有一個具有硬編碼證書的管理員用戶。關於2:我們需要硬編碼所有用戶名(也許是密碼),這是不靈活的。我們選擇使用單獨的存儲庫來存儲用戶憑據,只能從Java代碼中訪問。 – pitr 2010-01-03 23:38:29