2017-01-26 9 views
0

Mein Favicon scheint plötzlich aufzugehen. Ich bin mir nicht sicher, welche Änderung ich gemacht habe, die dazu geführt hat, dass sie fehlgeschlagen ist, aber sie hat früher gut gerendert und jetzt ist sie verstümmelt.Favicon wird nicht korrekt gerendert, sieht verstümmelt aus

Hier ist ein Beispiel, was es sieht aus wie:

enter image description here

I Frühling Stiefel bin mit und haben gegoogelt um alle typischen Antworten zu finden, wie Sie Ihre Favicon bekommen zeigt ... aber Ich hatte kein Glück.

Eine Sache, die ich bemerkte (nicht sicher, ob das normal ist oder nicht), ist, dass wenn ich die Favicon URL besuche, lädt es es nicht im Browser als ein Symbol, stattdessen lädt es als eine Menge Text.

Hier ist, was passiert, wenn ich mein localhost unter: 8080/favicon.ico url:

enter image description here

Das einzige, was ich daran denke, kann ich geändert habe vor kurzem, die auf die eine Wirkung gehabt haben könnte Favicon war meine WebSecurityConfig.java ... Ich habe eine REALM und grundlegende Authentifizierung hinzugefügt.

Hier ist die WebSecurityConfig.java Datei:

@Configuration 
@EnableWebSecurity 
public class WebSecurityConfig extends WebSecurityConfigurerAdapter 
{ 
    @Autowired 
    private UserDetailsService userDetailsService; 

    private static String REALM="MY_TEST_REALM"; 

    @Bean 
    public PasswordEncoder passwordEncoder() { 
     return new BCryptPasswordEncoder(); 
    } 

    @Autowired 
    public void globalSecurity (AuthenticationManagerBuilder auth) throws Exception 
    { 
    auth.userDetailsService(userDetailsService) 
     .passwordEncoder(passwordEncoder()); 
    } 

    @Override 
    protected void configure(HttpSecurity http) throws Exception 
    { 
    // authenticate/authorize 
    // authentication = who the hell are you? i.e. username/password 
    // authorization = what can you access in the app? 

    http 
     .csrf().disable() 
     .authorizeRequests() 
     .antMatchers("/*").permitAll() 
     .antMatchers("/js/**").permitAll() 
     .antMatchers("/webinars/**").permitAll() 
     .antMatchers("/img/**").permitAll() 
     .antMatchers("/fonts/**").permitAll() 
     .antMatchers("/register").permitAll() 
     .antMatchers("/samcart").permitAll() 
     .antMatchers("/sales").permitAll() 
     .antMatchers("/sales/**").permitAll() 
     .antMatchers("/paypal/**").permitAll() 
     .antMatchers("/forgotPassword").permitAll() 
     .antMatchers("proffesso-favicon.ico").permitAll() 
     .antMatchers("/students/purchasedCourse.html").permitAll() 
     .antMatchers("/students/courses/**").permitAll() 
     .antMatchers("/teachers/courses/*/image").permitAll() 
     .antMatchers("/teachers/courses/*/offers/*/image").permitAll() 
     .antMatchers("/handlebars/**").permitAll() 
     .antMatchers("/css/**").permitAll() 
     .antMatchers("/admin/**").hasRole("ADMIN") 
     .antMatchers("/admin").hasRole("ADMIN") 
     .anyRequest().authenticated() 
     .and() 
     .httpBasic() 
     .realmName(REALM) 
     .authenticationEntryPoint(getBasicAuthEntryPoint()) 
     .and() 
     .formLogin() 
     .loginPage("/login") 
     .defaultSuccessUrl("/students/courses") 
     .successHandler(new NoRedirectSavedRequestAwareAuthenticationSuccessHandler()) 
     .permitAll() 
     .and() 
     .logout() 
     .logoutSuccessUrl("/").permitAll() 
     .and() 
     .sessionManagement() 
     .maximumSessions(1); 
    } 

    @Bean 
    public CustomBasicAuthenticationEntryPoint getBasicAuthEntryPoint(){ 
     return new CustomBasicAuthenticationEntryPoint(); 
    } 

    /* To allow Pre-flight [OPTIONS] request from browser */ 
    @Override 
    public void configure(WebSecurity web) throws Exception { 
     web.ignoring().antMatchers(HttpMethod.OPTIONS, "/**"); 
    } 

    @Bean 
    public HttpSessionEventPublisher httpSessionEventPublisher() { 
     return new HttpSessionEventPublisher(); 
    } 

    @Bean() 
    public SecurityEvaluationContextExtension securityEvaluationContextExtension() { 
    return new SecurityEvaluationContextExtension(); 
    } 
} 
+0

Hmmm, scheint wie wenn ich es auf eine PNG-Datei anstelle einer ICO-Datei zeigen, wird es richtig gerendert. – Trevor

+0

Wenn Sie die URL einer ICO-Datei in Chrome eingeben, kann sie normalerweise korrekt angezeigt werden. Hier erhalten Sie nur Binärdaten, die als Text angezeigt werden. Ich rate Ihnen, sich den MIME-Typ anzusehen, der von Ihrem Server zurückgegeben wird (er sollte image/vnd.microsoft.icon sein). –

Antwort

1

Nicht sicher, ob Sie dies herausgefunden. Ich bin kürzlich auf dasselbe gestoßen, mein Favicon sieht genauso aus wie in deinem Screenshot. Für mich wurde es durch Maven Resource Filtering verursacht. Ich habe einen Ausschluss für * .ico wie folgt hinzugefügt:

+0

Ich habe es geschafft, es zu beheben, aber ich habe keine Ahnung, was ich getan habe ... Ich werde dies im Hinterkopf behalten, wenn es jemals wieder passiert. Danke für die Information – Trevor

Verwandte Themen