Spring Security可以保护整个站点,除了几个URL吗?

时间:2016-12-02 23:11:53

标签: spring spring-security

我正在尝试以下但它似乎并没有起作用。

<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<intercept-url pattern="/abc/**" access="permitAll"/>

我知道让一些人知道根本是安全的但有点奇怪,但我们的要求是创造一个全新的&#39;在当前申请中申请。

2 个答案:

答案 0 :(得分:0)

请参阅Spring Security Reference

  

41.1.24&lt; intercept-url&gt;

     

此元素用于定义应用程序感兴趣的URL模式集,并配置应如何处理它们。它用于构造FilterSecurityInterceptor使用的ChannelProcessingFilter。如果需要通过HTTPS访问特定URL,它还负责配置<intercept-url pattern="/abc/**" access="permitAll"/> <intercept-url pattern="/**" access="hasRole('ROLE_USER')" /> 。将指定的模式与传入请求进行匹配时,匹配将按声明元素的顺序完成。因此,最具体的模式应该是第一位的,最普遍的应该是最后的。

您修改后的配置:

#include <stdio.h>
#include <cs50.h>
int height;
int row;
int space;
int hash;

int main(void)
{
    // ask user for input  
    do
    {
        printf("height: ");
        height = GetInt();
    }  
    while (height < 0 || height > 23);

    // make pyramid

    for (row = 1; row >= height; row++)
    {
        for (space = (height - row); space > 0; space--)
        {
            printf("8 ");
        }

        for (hash = 1; hash >= (row+1); hash++)
        {
            printf("#");
        }
        printf("\n");
    }
    return 0;
}      

答案 1 :(得分:0)

当然,您可以忽略某些网址格式。如果您使用的是java配置,则将下一个方法放在安全配置类中:

@Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/url/to/ignore/**");       
    }

XML analog:

<http pattern="/url/to/ignore/**" security="none"/>