跨子域的 ASP.NET 身份 Cookie

2024-03-03

对于表单身份验证,我在 web.config 中使用了它(注意域属性):

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" name=".ASPXAUTH" protection="Validation" path="/" domain=".myserver.dev" />
</authentication>

如何为 Mvc 5 中的新 ASP.NET Identity Framework 配置跨子域的单点登录?

更多信息:

我正在创建一个多租户应用程序。每个客户端都位于一个子域上:

client1.myapp.com

client2.myapp.com

我希望用户能够登录client1.myapp.com然后去client2.myapp.com并且仍然可以登录。使用表单身份验证这很容易。我正在尝试弄清楚如何使用新的身份框架来做到这一点。

EDIT

这是最终对我有用的代码:

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
  AuthenticationType = "Application",
  LoginPath = "/Account/Login",
  CookieDomain = ".myapp.com"
});

在 Startup.Auth.cs 中,您将看到类似以下内容:

for RC:

app.UseSignInCookies();

这在 RTM 中被删除并替换为 cookie 身份验证的显式配置:

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

CookieAuthenticationOptions 类有一个 CookieDomain 属性,我相信这就是您正在寻找的属性。

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

跨子域的 ASP.NET 身份 Cookie 的相关文章

随机推荐