Spring安全请求块相互矛盾
我想让filter拦截所有的请求,这些请求是/person/blabla等。 但是应该有一个匿名用户可以自己注册的 每当我介绍第一条规则时,所有的子请求都会受到保护,包括底部的一条,它不是必需的 如果我不先介绍,则允许底部的请求,但匿名用户也可以访问所有后续请求,如/person/myProfile。: 您可以使用多个元素为不同的URL集定义不同的访问要求,但它们将按列出的顺序进行评估,并使用第一个匹配项。因此,您必须将最具体的匹配项放在顶部 此外,spring默认使用ant样式的模式匹配,在尝试进行匹配时不包括参数。您还需要匹配参数是否存在。为此,需要通过上的Spring安全请求块相互矛盾,spring,security,Spring,Security,我想让filter拦截所有的请求,这些请求是/person/blabla等。 但是应该有一个匿名用户可以自己注册的 每当我介绍第一条规则时,所有的子请求都会受到保护,包括底部的一条,它不是必需的 如果我不先介绍,则允许底部的请求,但匿名用户也可以访问所有后续请求,如/person/myProfile。: 您可以使用多个元素为不同的URL集定义不同的访问要求,但它们将按列出的顺序进行评估,并使用第一个匹配项。因此,您必须将最具体的匹配项放在顶部 此外,spring默认使用ant样式的模式匹配,在尝
请求匹配器
属性进行设置
我尝试过一次启动,而不是两次启动,似乎效果不错。我承认regex的威力,但这似乎有些过分。无论如何,谢谢!
<security:intercept-url pattern="/person/**"
access="isAuthenticated()" />
<security:intercept-url pattern="/person?reg"
access="isAnonymous()" />
<http request-matcher="regex">
<security:intercept-url pattern="\A/person\?reg.*\Z" access="isAnonymous()" />
<security:intercept-url pattern="\A/person/.*\Z" access="isAuthenticated()" />
</http>