javascript - 单击注销按钮后,以前的 url 不应该工作
问题描述
我有一个网站,当我单击注销按钮时,它会重定向到登录页面。现在我有 2 个问题,也许它们是相关的:问题 1:例如。我登录后的第一页是:
https://travel.name.com/models/WebForm1.aspx?name=ishaan.g@abcd.com
因此,如果我复制此 URL,然后单击注销按钮,它将进入登录页面。但是当我将复制的 URL 粘贴到浏览器中时,它会直接打开而不要求登录。
问题 2:如果我更改电子邮件 ID(即其他用户的邮件 ID),在“名称”之后的同一 url 中,它会直接显示数据而不要求登录。
我正在尝试清除会话,但我不确定这是正确的。
我曾尝试在 javascript 中清除会话:
function clr_session() {
sessionStorage.clear();
window.location.href = "Login.aspx";
}
两种情况下的预期结果是: 情况 1:如果我注销,则复制的 URL 应引导至登录页面 情况 2:如果我更改 URL 中的电子邮件 ID,则应引导至登录页面
提前感谢您的帮助。
解决方案
我相信这里的问题是在后端而不是前端。我不确定您是如何在后端实现身份验证的,但是当您打开 WebForm1.aspx 时,您的服务器应该检查用户是否经过身份验证。如果没有,服务器应该将用户重定向到登录页面。
当单击注销按钮时,服务器还应该使用户的会话无效。
在前端清除 sessionStorage 不太可能做任何事情,因为它本地存储在客户端上,而不是发送到服务器。
推荐阅读
- javascript - ExpressJS RESTapi 为 CRUD 操作编写单元测试
- selenium - 如何将测试结果从詹金斯推送到 ALM 辛烷值
- css - 使用 wow 动画的淡出效果不起作用?
- python - {'some_string'} 和 set('some_string) 作为 Python 3.7+ 中的关键字参数之间的区别
- rest - 我尝试从 POSTMAN API 工作正常但不是从我的放心代码
- dart - Dart/Flutter 流生成器在没有订阅者时停止
- three.js - Three.js 优化大量对象
- php - laravel URL::to('/') 在部署服务器中返回 localhost 作为基本 url
- java - 根据相似的第一项对列表进行分组
- suitescript - 如何通过suitescript 2.0中的UE从员工记录生成自定义记录?