java - Spring Security 3.1 和不安全的 HTTP channel

标签 java spring spring-security

我们最近刚刚从 Spring Security 3.0 版升级到 3.1 版。我们的旧配置文件显然使用了一个已弃用的功能,您可以使用 'filter="none"' 选项禁用 block 中 block 的安全性。这是我们旧的 applicationContext-security.xml 文件的片段:

<http ...>
    <intercept-url pattern="/resetPassword" filter="none" requires-channel="https" />
</http>

Spring Security 3.1 强制您定义额外的 block 以关闭某些 URL 模式的安全性:

<http security="none" pattern="/resetPassword" />

问题:如何为这个新的 block 强制使用 HTTPS channel ?

最佳答案

您使用的配置实际上并不需要 https,因为 filters="none"意味着 Spring Security 不应关注该请求。而对于 Spring Security 3 和 3.1,你应该使用类似的东西:

  <http use-expressions="true" ...>
    <intercept-url pattern="/resetPassword" access="permitAll" requires-channel="https" />
  </http>

关于java - Spring Security 3.1 和不安全的 HTTP channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8990916/

相关文章:

java - 如何在 Vert.x 中进行有效的复合协调编程

java - Google Cloud SQL JDBC 套接字工厂 UnknownHostException : google

java - Tomcat集群中使用ehcache进行缓存复制

java - Spring 在 AuthenticationSuccessHandler 中 Autowiring session 范围 bean 不起作用

spring - 如何在我的 Controller 中验证(@Valid)之前检查安全访问(@Secured 或 @PreAuthorize)?

java - 使用 SAML 作为未加密 HTTP header 保护站点的桥梁

java - 如何等到图像在 Java 中完全加载

Java Quartz scheduled Job - 禁止并发执行作业

java - Spring 应用程序中的字段未初始化

spring-security - 为什么 jsessionid 附加到每个 url?