注销功能|学习笔记

简介: 快速学习注销功能

开发者学堂课程【Spring Security知识精讲与实战演示(二)注销功能】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/731/detail/13042


注销功能

退出登录即注销操作,找到退出操作的按钮。

登录后台管理系统,输入 xiaoma 登录,成功后可以看到如下

 image.png

界面右上方有一个头像点击会出现弹窗,有修改密码和注销。

修改密码非常简单,只需要更新语句,但是一般在生活中用到修改密码时会提示先输入现有的密码,如果现有的密码与数据库中匹配成功才能修改,避免恶意修改。

点击注销按钮后显示404无法找到。

在工程中找到刚才的页面,页面在 webapp 中的 header.jsp,可以看到注销,注销上有logout,之前配置文件时在 spring-security.xml 中配置过退出登录相关的地址,logout的地址就是/logout,成功之后就会跳转到/login.jsp。

都没有问题那么为什么会出现404呢?spring-security.xml 中的<!--去掉csrf拦截的过滤器-->

<!--<security:csrf disabled=”true”/>-->

现在csrf是开启的状态,如果现在打开,就可以正常退出,取消掉代码注释:

<!--去掉csrf拦截的过滤器-->

<security:csrf disabled=”true”/>

</security:http>

刷新后再来登录后台管理系统,点击注销就会发现成功,但是是否真正成功了呢?可以验证是否可以跳转首页,在网址上输入/login.jsp,发现无法跳转证明真正注销。

上述的操作取消了注释,再加上注释,报错404是因为现在开启了csrf拦截,此时logout处理器只能使用post方式请求,必须修改为post,在header.jsp中的注销代码下添加

<form action = “${pageContext.request.contextPath}/logout” method=”post”>

<security:csrfInput/>

<input type=”submit” value=”注销”>

然后将代码注释掉:

<%--<a href=”${pageContext.request.contextPath}/logout”

class=”btn btn-default btn-flat”>注销</a>--%>

现在已经将请求方式改为了 post 请求,再来刷新,再次登录 xiaoma,登录后点击注销操作,再次验证访问首页无法跳转,真正注销。

以上就完成了注销操作,注意:一旦开启了csrf防护功能,logout 处理器便只支持POST请求方式。

相关文章
|
5月前
|
SQL 数据可视化 数据库
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
23 0
|
安全 前端开发 数据安全/隐私保护
登录的功能的实现和登录功能的拦截信息(课时十六)
登录的功能的实现和登录功能的拦截信息(课时十六)
65 0
|
安全 搜索推荐 Java
SpringSecurity-8-自动登录和注销功能实现
当我们在登录某一个网站的时候,我们会使用账号密码进行登录,但是我们不想每一次关闭浏览器,我们不想每一次重新输入账号和密码,贴合用户的登录体验,给用户带来方便,我们使用自动登录功能,将登录信息保存在浏览器的cookie中,这样用户在下次访问的时候,自动实现校验并新建登录状态。但是这样也会给用户带来信息泄露的危险。
129 0
|
存储 JSON 前端开发
基于Springboot外卖系统04:后台系统用户登录+登出功能
如果前端与后台接口之间不存在跨域问题,那么推荐使用cookie和session来记录登录状态。如果前端与服务器接口之间存在跨域问题,那么就要使用token的方式来维持登录状态。
236 0
|
存储 缓存 小程序
uniapp微信小程序登陆-升级版,登陆加登录信息过期以后的无痕登陆
uniapp微信小程序登陆流程(前端详细)uniapp小程序如何做登录
392 0
|
小程序 API 数据库
小程序中实现用户的登录与注册
小程序中实现用户的登录与注册
小程序中实现用户的登录与注册
|
数据安全/隐私保护 开发者 Python
登录功能的实现| 学习笔记
快速学习登录功能的实现
|
SQL Java 数据库
用户模块之注册功能完成|学习笔记
快速学习 用户模块之注册功能完成
|
Java 数据库 数据安全/隐私保护
用户模块之登录功能 | 学习笔记
快速学习用户模块之登录功能
218 0
|
数据安全/隐私保护
5、用户模块接口开发——登录、注销和注册
先看一下工程目录 1.png 创建UserController类 在主方法上加上这两个注释: @Controller @RequestMapping("/user/") 如: 2.
1400 0