gpt4 book ai didi

Asp.Net Identity - 在运行时设置 CookieDomain

转载 作者:行者123 更新时间:2023-12-04 05:12:33 25 4
gpt4 key购买 nike

如果我想从 Request.Url 或存储在我的数据库中的某些设置中提取此值,如何在运行时在 CookieAuthenticationOptions 中设置 CookieDOmain?

我想支持子域,但也支持 Multi-Tenancy ,每个租户都有不同的域。

目前这是配置我无权访问其中任何一个。

保罗

最佳答案

您可以指定自己的 cookie 提供程序:

CookieAuthProvider myProvider = new CookieAuthProvider();
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = myProvider
});

要么实现你自己的,要么简单地从现有的提供者继承:
public class CookieAuthProvider : CookieAuthenticationProvider
{
public override void ResponseSignIn(CookieResponseSignInContext context)
{
//Alter you cookie options
//context.CookieOptions.Domain = "www...";
base.ResponseSignIn(context);
}
}

并实现 ResponseSignIn ,当端点在转换为 cookie 之前提供了登录信息时调用它。通过实现此方法,可以更改进入票证的声明和额外信息。

您将通过 CookieResponseSignInContext , 暴露了 CookieOptions可以在 ResponseSignIn 期间替换或更改的属性称呼。

Katana 项目的代码引用:
  • ICookieAuthenticationProvider
  • CookieResponseSignInContext
  • CookieAuthenticationHandler
  • 关于Asp.Net Identity - 在运行时设置 CookieDomain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22989920/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com