ich ein neues Projekt zu starten, basierend auf feder Boot, mit dieser Arbeitskonfigurationsklasse für feder Sicherheit aus einem anderen Projekt:federBootProjekt mit Feder Sicherheit greifen nicht Ansichten
@Configuration
@ComponentScan
@EnableWebMvcSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private PasswordEncoder passwordEncoder;
@Autowired
private PermissionEvaluator permissionEvaluator;
@Override
public void configure(HttpSecurity http) throws Exception {
http
.csrf()
.disable()
.authorizeRequests()
.antMatchers("/").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/signin")
.loginProcessingUrl("/login").permitAll()
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/");
}
@Override
public void configure(WebSecurity web) throws Exception {
DefaultWebSecurityExpressionHandler handler = new DefaultWebSecurityExpressionHandler();
handler.setPermissionEvaluator(permissionEvaluator);
web.expressionHandler(handler);
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.userDetailsService(userDetailsService)
.passwordEncoder(passwordEncoder);
}
}
wenn ich bereitstellen die Projekt im Tomcat-Server, ohne Fehler, und versuchen Sie den Zugriff auf die Anwendung, anstelle der Indexseite, bekomme ich ein Popup-Fenster fragt mich nach Benutzername und Passwort.
der vollständige Code für das Projekt ist: https://github.com/klebermo/basic_webapp
jeder kann sehen, was mit dieser Konfiguration ist falsch?
schlage ich eine Lese der Dokumentation. Fügen Sie kurz '@Order (SecurityProperties.ACCESS_OVERRIDE_ORDER)' zu Ihrer Konfigurationsklasse hinzu. –