首页 > 解决方案 > 单击注销按钮后,以前的 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,则应引导至登录页面

提前感谢您的帮助。

标签: javascriptc#jquery

解决方案


我相信这里的问题是在后端而不是前端。我不确定您是如何在后端实现身份验证的,但是当您打开 WebForm1.aspx 时,您的服务器应该检查用户是否经过身份验证。如果没有,服务器应该将用户重定向到登录页面。

当单击注销按钮时,服务器还应该使用户的会话无效。

在前端清除 sessionStorage 不太可能做任何事情,因为它本地存储在客户端上,而不是发送到服务器。


推荐阅读