在具有 ASP.NET MVC5 Identity 的两个项目中使用相同的登录名

Using the same login in two projects with ASP.NET MVC5 Identity

我正在尝试将同一个登录 cookie 共享给两个不同的 MVC5 项目。

我已经为两个项目设置了相同的 cookie 名称,但那不起作用。

 app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            LoginPath = new PathString("/Account/Login"),
            CookieName = "OrienteIntegrada",
            Provider = new CookieAuthenticationProvider
            {
                // Permite que o aplicativo valide o carimbo de segurança quando o usuário efetuar login.
                // Este é um recurso de segurança que é usado quando você altera uma senha ou adiciona um login externo à sua conta.  
                OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                    validateInterval: TimeSpan.FromMinutes(30),
                    regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
            }
        });         

这两个应用程序都在同一个站点...我可以通过访问 localhost/teste 和 localhost/teste2;

来获取它们

我应该在 IIS 中设置什么吗? 我很抱歉我的英语...我希望你能理解我。感谢

对两个应用程序使用相同的 machinekey,它们将共享安全数据。以下是如何将 machinekey 添加到 web.config:

<configuration>
    <system.web>
        <machineKey decryptionKey="F6722806843145965513817CEBDECBB1F94808E4A6C0B2F2,IsolateApps" validationKey="C551753B0325187D1759B4FB055B44F7C5077B016C02AF674E8DE69351B69FEFD045A267308AA2DAB81B69919402D7886A6E986473EEEC9556A9003357F5ED45,IsolateApps" />
    </system.web>
</configuration>

请勿在生产中使用上述值。仅用于您的测试应用程序。

您可以按照此处的说明生成机器密钥:https://docs.microsoft.com/en-us/archive/blogs/vijaysk/iis-7-tip-10-you-can-generate-machine-keys-from-the-iis-manager