2010-06-08 89 views
5

我是新來的春季安全一般,有點困惑。帶X509的Spring-Security?

我試圖將這個項目與X509證書進行整合以識別用戶登錄應用程序。沒有用戶名或密碼。我們驗證證書是否合格,並且他們有權訪問我們的應用。

現在的問題是如何將spring集成到此以使用X509證書獲得他們的角色?

我見過this

<http> 
... 
    <x509 subject-principal-regex="CN=(.*?)," user-service-ref="userService"/> 
... 
</http> 

但我不明白這是如何工作。它仍然需要一些密碼?或者它是需要的主題?

回答

1

但我不明白這是如何工作的。它仍然需要一些密碼?或者它是需要的主題?

我認爲這就是它所需要的。我相信該模型是TLS協議使用公開密鑰加密技術確定用戶/客戶端「擁有」證書,這些技術歸結爲知道證書私鑰的用戶/客戶端。假定只有用戶將知道他自己的私鑰,並且因此誰能夠證明密鑰的知識是用戶的

1

至少在瀏覽器訪問您的服務時,系統會提示用戶輸入創建X509證書時使用的密碼。您可以創建沒有密碼的證書,但這並不安全。

瀏覽器和您的servlet容器將在用戶輸入密碼後處理SSL握手,然後如果一切正常,您可以使用UserDetailsS​​ervice實現用用戶擁有的任何角色填充原理。