Java spring安全中的CSS

Java spring安全中的CSS,java,css,spring,spring-mvc,spring-security,Java,Css,Spring,Spring Mvc,Spring Security,我应该将CSS添加到两个页面中,在登录后可以访问该页面,并使用SpringSecurity检查数据 如何将CSS添加到这两个受spring security保护的页面 task.jsp <link rel="stylesheet" href="<c:url value=" resources/css/bootstrap.responsive.css" />" type="text/css"> <link rel="stylesheet

我应该将CSS添加到两个页面中,在登录后可以访问该页面,并使用SpringSecurity检查数据

如何将CSS添加到这两个受spring security保护的页面

task.jsp

        <link rel="stylesheet" href="<c:url value=" resources/css/bootstrap.responsive.css" />" type="text/css">
        <link rel="stylesheet" href="<c:url value=" resources/css/bootstrap.css" />" type="text/css">
        <link rel="stylesheet" href="<c:url value=" resources/css/fontello-ie7.css" />" type="text/css">
        <link rel="stylesheet" href="<c:url value=" resources/css/fontello.css" />" type="text/css">
        <link rel="stylesheet" href="<c:url value=" resources/css/prettyPhoto.css" />" type="text/css">
        <link rel="stylesheet" href="<c:url value=" resources/css/style.css" />" type="text/css">

DispatcherServlet.xml

<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />


spring security.xml

您没有提到您是否正在使用spring Boot,很可能您已经解决了这个问题,但我发布它希望它能帮助其他人:

<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />
  • 使用弹簧靴

  • 添加了作为依赖项的Spring安全性,以及

  • 不能让CSS工作(或使用其他静态资源)

我也有类似的问题,以下是我的发现:

正如您所知,Spring安全性会阻止除应被授予访问权限的资源(如配置类或xml中所述)之外的资源。据我所知,在配置文件中大致按如下方式执行:

@Override
public void configure(WebSecurity web) throws Exception {
  web.ignoring().antMatchers(“/css/**”,”/fonts/**”,”/libs/**”);
}

不过,在添加上述之前,请考虑以下事项:

如果您按照中的教程实现Spring安全性

您被告知向config类添加以下注释:

@配置

@启用Web安全性

但根据这一消息来源(也是Spring自己的网站):

上面的第二个注释“…将在Spring Boot中关闭默认的webapp安全设置…”

根据这个来源(下面提供的链接),Spring Boot项目的webapp安全设置默认包含与上面提供的类似的代码(允许css或类似资源进入的代码)

(请参阅源代码中SpringSecurityConfig.java中的注释)

所以我注释掉了@EnableWebSecurity和所有其他Spring安全特性,它们在css被授予访问权限的情况下可以正常工作


希望有帮助。

css页面是否也受到保护?如果他们不想被保护,那么您可以删除spring-security.xml中css文件的安全性。。。然后css文件将可用于应用程序中的所有页面。