如何在 ASP.NET 运行时更改 FormsCookieName

2023-11-23

我们希望根据应用程序实例更改 FormsCookiePath 的 FormsCookieName。我们有一个应用程序,在 1 个服务器/域名上有多个实例。因此,我们只能同时在 1 个应用程序中工作,因为 cookie 会互相覆盖。顺便说一句,会话也是如此。

有没有办法动态地(例如在 Global.asax Application_Start 中)更改此名称?这很有用,因为我们在每个应用程序中保留一个许可证名称,可以用作 CookieName 的基础。

我们已经使用 Web.config 和额外文件来覆盖外部文件中的 Web.config 值:<appSettings file="Web.AppSettings.Config">

但这需要手动操作,这些操作可能会被忘记并且是多余的,因为可以从数据库中检索设置。

Thanks.


我有类似的情况,我做了以下事情。在 Application_Start 中,我检查了我的 cookie 名称是否需要更改。在对所有应用程序进行新部署(其中所有应用程序都具有相同的 web.config)后,就会发生这种情况。


protected void Application_Start(object sender, EventArgs e)
{
  // determine unique cookie name per application
  string cookieName = ...
  // Get the web.config forms settings
  Configuration c = WebConfigurationManager.OpenWebConfiguration("~");
  AuthenticationSection auth = c.GetSection("system.web/authentication") 
        as AuthenticationSection;
  // See if we have mismatch in web.config or in Forms cookiename
  if (auth != null && auth.Forms != null && 
       (auth.Forms.Name != cookieName 
          || FormsAuthentication.FormsCookieName != cookieName
       )
     )
  {
     // Assign value in web.config for future restarts
     auth.Forms.Name = cookieName;
     // would be nice if this restarted the app, but it doesn't appear to
     c.Save();
     // This seems to restart the app
     System.Web.HttpRuntime.UnloadAppDomain();
  }
  ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 ASP.NET 运行时更改 FormsCookieName 的相关文章

随机推荐

  • Python 使用“quoted-printable”传输编码和“utf-8”内容编码发送电子邮件

    蟒蛇的email mime倾向于使用编码base64 or 7bit and us ascii 我想用quoted printable and utf 8因为这对于人类来说更容易阅读和调试 目前 我的电子邮件看起来像 61353500484
  • Python setup.py 调用 makefile 不包含二进制文件

    一些上下文 我有一些 C 代码 编译后我可以在终端中调用 如下所示 my excec params它生成一些我在 python 中使用的文件来生成图表和其他内容 我想将所有内容打包到 python 库中 包括 C 代码和 python 代码
  • 将事件处理程序添加到新创建的元素

    我正在尝试将新元素添加到有序列表中 并带有删除链接 list ol append li label a href remove a li 但这不起作用 a href remove on click function event alert
  • Stripe Webhook 错误:未找到与负载的预期签名匹配的签名

    我正在使用 Stripe 提供的代码来测试 webhook Stripe 机密和端点机密已经过三次检查 条纹版本 6 19 正文解析器 1 19 当我在 Stripe 仪表板上测试 webhook 时 得到结果 Test webhook e
  • 如何在 Swift 中实现 AudioServicesSystemSoundCompletionProc?

    我正在尝试在 Xcode 中使用 Swift 为 AudioServicesAddSystemSoundCompletion 中的参数创建 AudioServicesSystemSoundCompletionProc 的实例 但失败了 这是
  • Android 以编程方式配对后自动连接蓝牙设备

    在我的应用程序中 我需要配对蓝牙设备并立即与其连接 我有以下功能来配对设备 public boolean createBond BluetoothDevice btDevice try Log d pairDevice Start Pair
  • Margin-top: 100% 获取父宽度值...奇怪

    我在大多数浏览器 即 ff chrome safari 上遇到了非常奇怪的 问题 这是示例代码
  • Android 重试 onErrorResponse 请求

    当我收到错误时错误响应android volley 请求我想重试该请求 我怎样才能做到这一点 好吧 你可以创建RetryPolicy要更改默认重试行为 只需指定timeout milliseconds retry count论据 publi
  • XPath 选择内部文本

    我有这个 HTML XML t t t t t r n t t a href test aspx span class test b blabla b span a br this is the text I want br span cl
  • Clock_getres 的使用 - Linux C 新手

    我正在尝试确定 Linux 机器上计时器的粒度 根据clock getres的手册页 我应该能够使用这个片段 include
  • Excel - VBA:将变量从子传递到用户窗体

    我已阅读并应用了在类似主题上找到的解决方案 但似乎对我的情况没有任何作用 因此 我想将一个变量从 Module1 的一个子模块传递到用户窗体 这是一个名为 provinceSugg 的字符串 这是我的代码的相关部分 Public provi
  • 在二维数组中创建相似元素集

    我正在尝试解决基于二维数组的问题 该数组包含不同类型的元素 总共 3 种可能的类型 让我们假设类型为 X Y Z 该数组看起来是这样的 请注意 它总是被完全填满 该图仅供说明之用 7 6 5 4 X Z Y X 3 Y X Y Y X 2
  • 什么是好的Jsp IDE

    我是一名 C 开发人员 但有一份涉及一些 jsp 代码的工作 我一直在使用记事本 它在突出显示方面做得很好 但我缺少智能感知 并且发现很难找到我需要的方法 对于喜欢 C 并具有智能感知功能的人来说 什么是好的 jsp IDE Update
  • 在 bash 无限循环期间禁用用户输入

    我有这个 bash 脚本 它基本上启动带有进度指示器的 Web 和 selenium 服务器 由于硒服务器启动需要一些时间 我正在无限循环中检查状态 问题是 在等待它启动时 我不小心按下了按键 它会显示在屏幕上 如果循环结束 超时 它也会显
  • C# 中的 HTTP 代理服务器

    我的公司正在尝试使用 NET Fx 3 5 和 C 编写代理服务器 来自我们的research我读到 HttpListener 不是代理服务器的良好候选者 尽管我不确定为什么 我们目前正在与Mentalis代理示例源代码尽管这将涉及到实现我
  • 如何在屏幕之间切换?

    我是 Android 开发世界的新手 我创建了简单的应用程序 并通过一个按钮创建了一个简单的 GUI 如果用户按下此按钮 我想更改屏幕以显示其他 GUI 我怎样才能做到这一点 你可以这样做 import android view View
  • Golang - 如何从代码内部显示模块版本

    我正在编写两个二进制文件 它们都使用两个库 我们可以称它们为 libA 和 libB 每个库都位于专用的 git 存储库中 并使用 git 标签来声明版本 例如 libA 的版本为 v1 0 9 libB 的版本为 v0 0 12 两个二进
  • 所有小提琴的面积相同,与 ggplot2 中的面无关

    我想为三个不同的因素创建一个图 其中所有小提琴都具有相同的面积 但使用facet grid C 似乎迫使每个方面内的小提琴 即仅在因子 C 水平内的小提琴 具有相同的面积 我怎样才能克服这个问题 library ggplot2 d lt d
  • 在 Gradle 中,如何生成具有解析为实际使用版本的动态依赖项的 POM 文件?

    在 Gradle 中 如何生成具有解析为实际使用版本的动态依赖项的 POM 文件 dependencies testCompile group junit name junit version 4 这是从上面的依赖关系生成的
  • 如何在 ASP.NET 运行时更改 FormsCookieName

    我们希望根据应用程序实例更改 FormsCookiePath 的 FormsCookieName 我们有一个应用程序 在 1 个服务器 域名上有多个实例 因此 我们只能同时在 1 个应用程序中工作 因为 cookie 会互相覆盖 顺便说一句