设置/更新 aspxauth 和 asp.net_sessionid cookie 的过期时间

2023-12-28

我想知道是否有一种方法可以设置 .NET 应用程序来设置和更新浏览器中 aspxauth 和 asp.net_sessionid cookie 的过期时间?

据我所知,cookies 的过期日期类似于 1/1/0001,告诉浏览器保留它们直到浏览器关闭(我使用 Chrome 观察到了这一点)。我想设置一个明确的时间,但是,我需要根据每个请求更新该时间。

我试图用一些代码来做到这一点,例如:

var timeoutMins = Session.Timeout;
if (Response.Cookies.Count > 0)
{
   foreach (string s in Response.Cookies.AllKeys)
   {
       if (s == FormsAuthentication.FormsCookieName || s.ToLower() == "asp.net_sessionid")
       {
           Response.Cookies[s].Expires = DateTime.Now.AddMinutes(timeoutMins);
       }
   }
}

我尝试在 global.asax End_Request 事件中执行此操作,尽管这似乎不是一个好地方,因为它每页触发多次,并且您无权访问 sessionstate 超时;此外,它仅在登录和注销时触发,所以基本上我可以设置一次,但永远无法更新它。这会导致我的用户在登录 15 分钟后注销,即使他们一直处于活动状态。

似乎有一些设置可以告诉 .net 来处理这个问题?我知道这是一个奇怪的请求,但这是该项目的安全要求,所以我正在努力使其工作!


看起来没有多少人尝试做我正在做的事情,但为了记录,我在应用程序端请求中添加了代码,以查找请求中的 cookie,并在响应中以适当的过期时间重新创建它们:

var timeout = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["myTimeoutConfigSetting"]);    

foreach (var cookey in Request.Cookies.AllKeys)
{
  if (cookey == FormsAuthentication.FormsCookieName || cookey.ToLower() == "asp.net_sessionid")
  {
      var reqCookie = Request.Cookies[cookey];                                      

      if (reqCookie != null)
      {
          HttpCookie respCookie = new HttpCookie(reqCookie.Name, reqCookie.Value);
          respCookie.Expires = DateTime.Now.AddMinutes(timeout);

          Response.Cookies.Set(respCookie);
      }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置/更新 aspxauth 和 asp.net_sessionid cookie 的过期时间 的相关文章

随机推荐

  • Windows ISO 8601 时间戳

    我需要将 Windows PowerShell 中的日期转换为 ISO 8601 格式 在 Linux Unix 中没有问题 TZ 0 date d
  • 从 Android 应用程序向 Azure AD 进行 Firebase 身份验证

    我正在尝试将 Microsoft 登录方法添加到我的 Firebase 项目中 希望允许用户使用其 Azure AD 凭据登录我的 Android 应用程序 我已经完成了使用 电子邮件 密码 提供商的所有设置 该提供商运行良好 我不打算访问
  • 扑动|如何将数据添加到 firestore 中的现有文档

    我正在使用 firestore 来存储我的 flutter 应用程序的数据 并且我创建了一个在用户登录后自动在 firestore 中创建文档的功能 现在我希望用户在填写此表单时 数据将添加到用户电子邮件所在的同一文档中 RaisedBut
  • 为什么节点 contains 方法没有捕获对 svg 元素的点击?

    我有一个基本的模态 其 html 结构中有一个 svg 图标 我想检测模式之外的点击 以便我可以将其关闭 执行此操作的代码类似于以下内容 document addEventListener mousedown e gt if modal c
  • SQLite删除查询错误

    delete N from Tbl Nodes N Data Tree DT WHERE N Part DT Part 对于这个命令我收到以下错误 System Data SQLite SQLiteException SQLite erro
  • 本地网络上的Mysql错误10061

    我正在尝试连接到本地服务器的数据库 位于 192 168 0 198 但我收到 10061 错误 当我尝试连接真正的 putty 然后只是一个普通的 mysql 登录 时 它没有给我带来任何问题 mincraft 插件使用以下命令登录数据库
  • CloudKit错误处理-重试逻辑

    我想在我的应用程序中加入出色的 CloudKit 错误处理功能 就像 Apple 希望我们做的那样 我现在想保存并修改一条记录 这是我的基本保存逻辑 func addNewRecord managedObj NSManagedObject
  • requestIdleCallback 和 setImmediate 之间的区别?

    目前有 2 个不同的 API 旨在将任务分解为预定的回调函数 设置立即 https developer mozilla org en US docs Web API Window setImmediate 非标 请求空闲回调 https d
  • 第一次打开浏览器窗口/选项卡后执行 JavaScript 代码

    有没有一种方法可以在浏览器中的窗口或选项卡打开时仅执行一次 JavaScript 代码 然后在该窗口 选项卡的整个生命周期中不再执行 即使导航离开 一种使用方式window sessionStorage像这样 if window sessi
  • 如何对 url 中的视频进行加密并将加密视频保存到设备的 SD 卡

    在我的应用程序中 我必须使用许多视频文件 所有视频的总大小大约为 500 MB 因此 我必须在第一次安装和运行应用程序时决定我在后台下载视频 并在加密该视频后将其保存到设备的 SD 卡上 当使用视频时 我会解密该视频并使用它 我决定这样做是
  • 动态创建 C# 类或对象

    我有这个结构 public class FirstClass public List
  • 所有的 goroutine 都在睡觉——僵局! - - - - 错误

    我想编写三个并发的 go 例程 相互发送整数 现在 我的代码已正确编译 但是在第一次执行后 它给出错误 所有 goroutine 都在睡觉 死锁 我试图找到错误 但无法找到代码逻辑中的任何错误 任何人都可以帮助我找到代码中的错误吗 我的代码
  • 在python中将字符串转换为十六进制

    我有一个脚本调用一个函数 该函数采用十六进制数字作为参数 该参数需要 0x 前缀 数据源是数据库表 存储为字符串 因此返回 0x77 我正在寻找一种从数据库中获取字符串并将其用作带有 0x 前缀的十六进制形式的参数的方法 这有效 addr
  • withFilter 的值不是 Cats IO 中的成员以供理解

    我写了这段代码并且编译得很好 for list List Int lt Future List 1 2 3 yield list size res7 Future Int Future Success 3 但是如果我将此代码转换为 for
  • 在 Notepad++ 中每行末尾添加一个字符 )

    我想添加 字符 右括号 到所有行的末尾 I see CR是每行的结束符号 菜单 gt 视图 gt 显示符号 gt 显示行尾 我尝试更换 r with r在正则表达式模式下但它不起作用 我该怎么做呢 Use 在正则表达式模式下匹配行尾 用 来
  • Maven 中的 SSL 客户端证书

    我使用 maven jaxb22 plugin 生成类 以便我可以调用用 Net 编写的 Web 服务 通常它工作正常 但这次 我只能使用客户端证书通过 HTTPS 访问 WSDL 无法通过 HTTP 访问 我能够让它与 SoapUI 一起
  • 在 C++ 中将一个文件的内容复制到另一个文件

    我正在使用以下程序尝试将文件 src 的内容复制到 C 中的另一个文件 dest 简化的代码如下 include
  • 将文本基线与 CSS 中的按钮对齐

    I would like to achieve one of the two alignments represented on this image CSS3 is ok or even better if it makes things
  • 标准化编辑距离

    我有一个问题 我们可以通过将 e d 值除以两个字符串的长度来标准化编辑距离吗 我问这个问题是因为 如果我们比较两个长度不等的字符串 两个长度之间的差异也会被计算在内 例如 ed 有一个 有一个球 4 和 ed 有一个 有一个球是圆的 15
  • 设置/更新 aspxauth 和 asp.net_sessionid cookie 的过期时间

    我想知道是否有一种方法可以设置 NET 应用程序来设置和更新浏览器中 aspxauth 和 asp net sessionid cookie 的过期时间 据我所知 cookies 的过期日期类似于 1 1 0001 告诉浏览器保留它们直到浏