2008-10-20 82 views
15

將SpringSecurity與Capcha集成的適當方式是什麼?將驗證碼與Spring Security集成

我有以下用例: 當用戶嘗試登錄時,如果我們沒有登錄N次,將顯示驗證碼,所以驗證將使用三個參數:用戶名,密碼,驗證碼。但Spring Security不支持內置Captcha處理。

我剛開始考慮實施。並具有下列變量:

  • Spring Security的過濾器堆棧添加單獨的安全過濾,
  • 完全重寫AuthenticationProcessingFilter支持一些驗證碼
  • 使用與攔截驗證碼邏輯一些編程認證,然後transfering用戶名和密碼春天安全

作爲一個驗證碼的實現,我想到JCaptcha,但你的思想是什麼?

回答

5

作爲替代使用JCaptcha的,如果你想使用您網站上的reCAPTCHA Service,然後檢查新Spring in Practice書(目前處於測試階段)的自由4.4節(direct PDF link)。

這顯示你與Spring MVC和Spring Validation的集成。由於整合是在前端,有外部API,Spring Security在這裏並不真實。

我不確定你的用例是什麼?你是否希望使用驗證碼作爲驗證的替代方法來證明「人性」?

+1

我編輯了我的問題,以更清楚地瞭解情況。我需要同時提交3個字段:驗證碼,用戶名和密碼。 – 2008-10-24 08:10:28

0

我已經通過定義自定義安全過濾器來完成與reCaptcha和Spring Security(Spring Web Flow + JSF)的集成。也許它不是最優雅的,但是效果很好。 你可以看看我的博客 - 不幸的是波蘭語,但也許會幫助你或...

http://marioosh.net/blog/?p=1087