I have a problem with my simple Spring Security app. After I logged in, 404 error page opens instead of my view (greet.jsp which contains only one header).
It seems to me, my controller doesn't handle requests, but I dont know why. I've done this before without Spring Security and it worked. But when I added Security, it doesn't work anymore.
Added dependencies: Spring Web MVC, Spring Security Wev/Config, javax-servlet-api.
My Spring config:
@Configuration
@ComponentScan("security.config")
@EnableWebMvc
public class SpringConfig implements WebMvcConfigurer {
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
My Security config:
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
User.UserBuilder userBuilder = User.withDefaultPasswordEncoder();
auth.inMemoryAuthentication()
.withUser(userBuilder.username("Matt").password("Matt").roles("Programmer"));
}
}
DispatcherServletInitializer:
public class DispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
SecurityInitializer:
public class SecurityInitializer
extends AbstractSecurityWebApplicationInitializer {
}
Controller:
@Controller
public class MyController {
@GetMapping("/")
public String getInfoForAllStaff(){
return "greet";
}
}
jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Greet</title>
</head>
<body>
<h2>Hello!</h2>
</body>
</html>
After this, 404 error page
Please, someone tell me what I am doing wrong
Since i can't add comments yet I have to write it as an answer. I've had similar problem dealing with spring security, in my case it was because of @ComponentScan
annotation (explained in details here ), fixing it solved my problem, perhaps it will also solve your.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.