我對Spring和SSL身份驗證的新手有點新鮮。混合模式X509使用Spring 3.1進行身份驗證
我的問題是,我有一個Web應用程序,它可以很好地使用基於表單的身份驗證。我需要使用SSL客戶端身份驗證自動驗證我的應用程序的一部分。
我到目前爲止做了什麼。
- SSL允許的Tomcat(我可以訪問https://mydomain.com:9443)
- 導入客戶端證書到服務器信任
更改服務器的XML,使clientAuth = 「希望」 在我的server.xml
Connector port="9443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="want" sslProtocol="TLS" keystoreFile="c:\serverkeystore" keystorePass="ChangeIt" />
已添加x509 subject-principal-regex =「CN =(。*?),」user-service-ref =「customUserDetailService」 under http在我的安全的context.xml
< http auto-config="true" use-expressions="true" > < x509 subject-principal-regex="CN=(.?)," user-service-ref="myUserDetailService" /> < intercept-url pattern="/upload" requires-channel="https" /> < intercept-url pattern="/*" access="hasRole('ROLE_USER')" /> < form-login login-page="/login.jsp" default-target-url="/index.jsp"
authentication-failure-url="/login.jsp?error=1" /> < logout logout-url="/j_spring_security_logout" logout-success-url="/loggedout.jsp" delete-cookies="JSESSIONID"/>
- 添加<截距-URL模式= 「/上傳」 要求溝道= 「HTTPS」/>到安全URL
- myUserDetailService正在實施UserDetailsService並返回UserDetails對象(基於基於數據庫存儲的用戶名,密碼,ROLES,用於基於表單的身份驗證的相同類)。
我的問題是什麼URL路徑(即使有/上傳),它總是顯示我的login.jsp頁面。
我使用Spring和Spring 3.1.3安全使用Tomcat 6.0.35
任何幫助將高度讚賞。
@Michael對不起,我還無法嘗試,因爲我們忙於其他問題。我會盡快做到。 – Ish 2013-04-28 18:31:53
你測試過它成功了嗎? – Michael 2013-05-13 11:32:55