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

Gab*_*iël 5 asp.net cookies forms-authentication

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

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

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

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

谢谢.

Dav*_*sky 2

根据MSDN,存储 cookie 名称的 FormsAuthentication.FormsCookieName 属性是只读属性。该属性必须从 web.config 中读取。

每个实例在 web.config 中都需要一个单独的名称。我建议将身份验证 cookie 的名称包含在您现有的变更管理系统中。