为什么Spring Security看不见登录失败或者注销的提示


有很多人在利用Spring Security进行角色权限设计开发时,一般发现正常登录时没问题,但是注销、或者用户名时,直接就回到登录页面了,在登录页面上看不见任何提示信息,如“用户名/密码有误”或“注销成功”。

那么如何做呢?很简单。

1、自定义安全配置类(继承自WebSecurityConfigurerAdapter)
在我们的自定义安全配置类中,需要做必要的设置,如下图:

 

 上图中标红框的部分很关键:
failureUrl("/login?error=true"):这里面的“?error=true”很关键,如果没有这个,那么你登录失败的消息并不会被系统传递出去。
logout():一定要配置logout(),要不然系统在注销时,一是不能自动跳转到登录页面,二是系统也不会把注销的消息传递出去。

2、登录页面login.html
已经在Spring Security中的自定义配置类中做了如上的配置后,那么只需在页面中添加必要的判断信息就行了,见下图:

 

 

以上代码很简单,大家只需注意两点就行:

 

  •  在页面中通过xmlns属性定义Thymeleaf命名空间,同时定义Thymeleaf针对Spring Security的扩展,见上面的第一个红框; 
  • 通过Thymeleaf的语法,对接收到的消息进行判断,param.logout:判断是否是注销,param.error:判断是否登录失败,从而进行相应的显示就行了,见上面的第二个红框。

 

有关如何快速掌握Spring Boot进行web项目的开,可以参见视频:

51CTO:Spring Boot+Bootstrap开发小而完整web项目
腾讯课堂:Spring Boot+Bootstrap开发小而完整web项目 
CSDN学院:Spring Boot+Bootstrap开发小而完整web项目 
网易云课堂:Spring Boot+Bootstrap开发小而完整web项目 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM