【问题标题】:mix-mode X509 Authentication with Spring 3.1使用 Spring 3.1 的混合模式 X509 身份验证
【发布时间】:2013-04-14 16:08:48
【问题描述】:

我对 Spring 有点陌生,也是 SSL 身份验证的新手。

我的问题是我有一个 Web 应用程序,它可以很好地与基于表单的身份验证配合使用。我需要使用 SSL 客户端身份验证自动对我的应用程序的一部分进行身份验证。

到目前为止我做了什么。

  1. SSL启用tomcat(我可以访问https://mydomain.com:9443
  2. 将客户端证书导入服务器信任库
  3. 更改 server-xml 并在我的 server.xml 中设置 clientAuth="want"

    连接器端口="9443" 协议="HTTP/1.1" SSL启用=“真” maxThreads="150" 方案="https" 安全=“真” clientAuth="想要" sslProtocol="TLS" keystoreFile="c:\serverkeystore" keystorePass="ChangeIt" />
  4. 在我的安全中的 http 下添加了 x509 subject-principal-regex="CN=(.*?)," user-service-ref="customUserDetailService" -上下文.xml

        ?)," user-service-ref="myUserDetailService" />
       
                   authentication-failure-url="/login.jsp?error=1" />
        
  5. 添加 以保护 url
  6. myUserDetailService 正在实现 UserDetailsS​​ervice 并返回 UserDetails 对象(我用于基于表单的身份验证的同一类,基于数据库存储的用户名、密码、角色)。

我的问题是任何 URL 路径(即使使用 /upload)它总是向我显示 login.jsp 页面。

我正在使用 Spring 和 Spring security 3.1.3 和 tomcat 6.0.35

任何帮助将不胜感激。

【问题讨论】:

  • @Michael 抱歉,因为我们正忙于处理其他问题,所以我还不能尝试。我会尽快做。
  • 你测试成功了吗?

标签: ssl spring-security tomcat7 x509


【解决方案1】:

你必须分开问题:

  1. 通过客户端证书验证所有/upload URLs
  2. 通过表单认证其他网址进行认证

以下配置将允许在 SpringSecurity 3.1 中单独解决这些问题:

<http pattern="/upload/**" >
    <intercept-url pattern="/*" access="hasRole('ROLE_USER')" requires-channel="https"/>
    <x509 subject-principal-regex="CN=(.?)," user-service-ref="myUserDetailService" />
</http>

<http use-expressions="true">
    <intercept-url pattern="/login.jsp*" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
    <intercept-url pattern="/**" access="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"/>
</http>

【讨论】:

  • 会试试迈克尔。谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-10-23
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 2011-04-24
  • 2011-01-16
  • 2012-05-12
  • 2012-08-16
相关资源
最近更新 更多