程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Spring Security 404 error after log in standard form

发布于2022-10-24 03:34     阅读(1322)     评论(0)     点赞(30)     收藏(1)


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

Login 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.



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/561486/b94f936320116f75e187/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

30 0
收藏该文
已收藏

评论内容:(最多支持255个字符)