我正在尝试使用我创建的页面进行身份验证,它是login.jsf . 我在.loginPage / login.jsf
中使用2个输入和1个按钮进行身份验证 . 但是,通过填写登录名和密码字段,然后单击按钮,没有任何反应 . 与Spring Security自己的 .formLogin()
本身不同,它已经通过单击按钮完成了所有处理 .
My method
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login.jsf").anonymous()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login.jsf")
.defaultSuccessUrl("/homepage.jsf")
.failureUrl("/login.jsf?error=true")
.and()
.logout().logoutSuccessUrl("/login.jsf");
}
有人有什么建议吗?
打印屏幕默认.formLogin()
2 回答
请查看spring安全文档中的以下文章 .
https://docs.spring.io/spring-security/site/docs/current/guides/html5/form-javaconfig.html#creating-a-login-view
引用文章,
因此,我认为您必须使用您的身份验证详细信息对/ login endpoints 进行POST调用才能生效 .
在配置中指定页面时,请勿使用文件扩展名 .
ViewResolver
会照顾它 . 只需指定并确保将ViewResolver配置为将
.jsf
附加到网址 . DispatcherServlet将负责查找适当的页面 .另外,更不用说,您应该为控制器定义适当的
@RequestMapping
来处理您的请求 .