首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用无Cookieless会话.Net MVC 5

禁用无Cookieless会话.Net MVC 5
EN

Stack Overflow用户
提问于 2017-07-19 12:01:18
回答 2查看 673关注 0票数 1

我们以前在应用程序上启用了无灶会话。我们已经禁用了它,并使用了会话cookie,但是我们有一个问题。在url中将会话ID作为书签的用户仍然能够导航到站点,其中包含URL中的会话id。我已经设置它不能重新生成过期的会话,但它仍然允许它。此外,它还创建了一个会话cookie,然后我们将得到随机的会话丢失。我想出了一些不可靠的解决方案,比如使用URL删除它,重写并通过javascript将其去掉,但这似乎很糟糕。我错过了什么能帮上忙的东西吗?这并不重要,但我将补充说,我们使用的是状态服务器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-19 14:02:02

URL重写是一个很好的解决方案。

但是,如果您希望用户更新他们的书签(这样您最终可以取消URL重写),您可能会考虑让您的URL重写将它们发送到一个页面,告诉他们这样做:

  • 糟了!那个链接不起作用。

然后给他们通常的登录选项等等。

票数 0
EN

Stack Overflow用户

发布于 2020-03-04 19:30:52

对于其他寻找不需要用户更新书签的解决方案的人,我可以在我的Global.asax Application_BeginRequest中使用以下内容

代码语言:javascript
复制
void Application_BeginRequest(object sender, EventArgs e) {
    if (CookielessValuesExist()) {
        Response.Redirect(Request.Url.OriginalString, true);
    }
}

private bool CookielessValuesExist() {
    string cookieless = Request.Params["HTTP_ASPFILTERSESSIONID"];
    if (string.IsNullOrWhiteSpace(cookieless)) {
        return false;
    }

    return true;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45189931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档