【问题标题】:CSS in spring security春季安全中的 CSS
【发布时间】:2017-10-22 20:43:12
【问题描述】:

我应该将 CSS 添加到登录后访问的两个页面,使用 spring security 检查数据

如何将 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

【问题讨论】:

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

标签: java css spring spring-mvc spring-security


【解决方案1】:

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

  • 使用 Spring Boot;

  • 将 Spring Security 添加为依赖项,并且

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

我有类似的问题,这是我发现的:

如您所知,Spring Security 会阻止除应被授予访问权限的资源(如配置类或 xml 中所述)。据我所知,它在配置文件中大致如下完成:

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

但是,在添加上述内容之前,还请考虑以下几点:

如果您按照

中的教程实现 Spring Security

https://spring.io/guides/gs/securing-web/

您被告知在配置类中添加以下注释:

@配置

@EnableWebSecurity

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

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-security.html

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

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

http://www.mkyong.com/spring-boot/spring-boot-spring-security-thymeleaf-example/

(参见源代码中 SpringSecurityConfig.java 中的 cmets)。

所以我注释掉了 @EnableWebSecurity 并且所有其他 Spring Security 功能都按预期工作,而 css 被授予访问权限。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 2012-12-13
    • 2017-11-30
    • 2021-05-12
    相关资源
    最近更新 更多