注销功能|学习笔记

简介: 快速学习注销功能

开发者学堂课程【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请求方式。

相关文章
|
2月前
|
SQL 数据可视化 数据库
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
17 0
|
12月前
|
安全 搜索推荐 Java
SpringSecurity-8-自动登录和注销功能实现
当我们在登录某一个网站的时候,我们会使用账号密码进行登录,但是我们不想每一次关闭浏览器,我们不想每一次重新输入账号和密码,贴合用户的登录体验,给用户带来方便,我们使用自动登录功能,将登录信息保存在浏览器的cookie中,这样用户在下次访问的时候,自动实现校验并新建登录状态。但是这样也会给用户带来信息泄露的危险。
111 0
|
小程序 JavaScript 开发者
小程序短信验证码登录,1分钟实现小程序发短信功能,借助云开发10行代码实现短信验证码登录小程序
小程序短信验证码登录,1分钟实现小程序发短信功能,借助云开发10行代码实现短信验证码登录小程序
583 0
|
JavaScript 前端开发 数据安全/隐私保护
整合登录和注册页面 | 学习笔记
快速学习 整合登录和注册页面
89 0
整合登录和注册页面 | 学习笔记
|
数据安全/隐私保护 开发者 微服务
登录功能(接口问题解决) | 学习笔记
快速学习登录功能(接口问题解决)
89 0
登录功能(接口问题解决) | 学习笔记
|
小程序 API 数据库
小程序中实现用户的登录与注册
小程序中实现用户的登录与注册
小程序中实现用户的登录与注册
|
XML 存储 Java
登录功能(接口) | 学习笔记
快速学习登录功能(接口)
251 0
|
数据安全/隐私保护 开发者 Python
登录功能的实现| 学习笔记
快速学习登录功能的实现
78 0
|
JSON 前端开发 数据库
注册功能实现 | 学习笔记
快速学习 注册功能实现
85 0
|
前端开发 Java 数据库
【JavaMailWeb】用户注册通过邮箱激活案例(1)
【JavaMailWeb】用户注册通过邮箱激活案例
197 0
【JavaMailWeb】用户注册通过邮箱激活案例(1)