代码之家  ›  专栏  ›  技术社区  ›  Nuñito Calzada

拒绝在胸腺嘧啶上显示图像

  •  0
  • Nuñito Calzada  · 技术社区  · 6 年前

    我把这段代码放在一个Thymeleaf模板中,但是图像没有显示出来

    <object data="assets/img/icons/ico_status_up.svg" type="image/svg+xml">
        <img th:src="@{assets/img/icons/ico_status_up.png}"  alt="UP">
    </object>
    

    我在浏览器的控制台中看到此错误:

    Refused to display 'http://localhost:8080/bonanza/pecador/assets/img/icons/ico_status_up.svg' in a frame because it set 'X-Frame-Options' to 'deny'.
    

    我在我的项目中使用spring security:

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>
    
            <!-- Spring Security -->
            <dependency>
                <groupId>org.thymeleaf.extras</groupId>
                <artifactId>thymeleaf-extras-springsecurity5</artifactId>
            </dependency>
    
       <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-test</artifactId>
                <scope>test</scope>
            </dependency>
    
    0 回复  |  直到 6 年前
        1
  •  0
  •   Community Mohan Dere    5 年前

    问题是您可能正在使用authconfigured Spring Security模块。

    Spring Security Docs

    X帧选项:拒绝

    X-Frame-Options响应标头指示浏览器阻止响应中包含此标头的任何站点在帧内呈现。

    因此,要配置这种行为,您应该配置Spring安全性:

    @EnableWebSecurity
    public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http
            // ...
            .headers()
                .frameOptions()
                    .sameOrigin(); // or disable();
        }
    }
    

    同时,我也鼓励你们看看这个问题,这个问题的主题是什么 html Do I use <img>, <object>, or <embed> for SVG files?