Spring安全性:使用通道属性强制https上的API

Spring安全性:使用通道属性强制https上的API,spring,maven,spring-security,Spring,Maven,Spring Security,我对Spring框架非常陌生,目前我正在从事Spring+Maven项目,在我的项目中有很多API,我只需要在https上运行/使用一些API,它们不应该在http上运行 我在这方面做了一些发现,我发现我们可以通过使用spring securityrequires channel属性轻松做到这一点 下面是pom.xml和spring安全文件中为requires通道创建的几个条目 pom.xml条目 <properties> <spring.security.version>

我对Spring框架非常陌生,目前我正在从事Spring+Maven项目,在我的项目中有很多API,我只需要在https上运行/使用一些API,它们不应该在http上运行

我在这方面做了一些发现,我发现我们可以通过使用spring securityrequires channel属性轻松做到这一点

下面是pom.xml和spring安全文件中为requires通道创建的几个条目

pom.xml条目

<properties>
<spring.security.version>3.0.4.RELEASE</spring.security.version>
</properties>

<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.security.version}</version>
</dependency>

<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring.security.version}</version>
</dependency>

3.0.4.1发布
org.springframework.security

添加后它对我有效需要channel=“https”。我试图找到这个,但我无法得到任何有用的链接。请检查以上条目并更正我缺少的内容。任何帮助都将不胜感激。

您的模式不正确。您可以使用以下内容作为精确匹配:

<security:intercept-url pattern="/MyTesting"
    requires-channel="https" />

注意:Spring安全性在匹配URL时忽略上下文根,因此您无需对此进行说明

如果要匹配以/MyTesting结尾的所有URL,则可以使用:

<security:intercept-url pattern="/**/MyTesting"
    requires-channel="https" />


谢谢您的回复,但我仍然无法使用。您能将您的spring-config.xml文件也粘贴到这里吗
<security:intercept-url pattern="/**/MyTesting"
    requires-channel="https" />