C# 基于多个';本地主机';Net核心网站

C# 基于多个';本地主机';Net核心网站,c#,asp.net-core,asp.net-identity,C#,Asp.net Core,Asp.net Identity,场景只是开发机器上的一个问题 我有多个不同且完全独立的ASP.NET Core 2.2项目在我的开发机器上“localhost”下运行 一旦我成功验证并登录到一个项目,我就不能再登录到其他项目。我想这和授权饼干有关 所有项目都具有相同的基本身份验证 services.AddAuthentication(); services.ConfigureApplicationCookie(opt => { opt.Cookie.SecurePolicy =

场景只是开发机器上的一个问题

我有多个不同且完全独立的ASP.NET Core 2.2项目在我的开发机器上“localhost”下运行

一旦我成功验证并登录到一个项目,我就不能再登录到其他项目。我想这和授权饼干有关

所有项目都具有相同的基本身份验证

    services.AddAuthentication();

    services.ConfigureApplicationCookie(opt =>
    {
        opt.Cookie.SecurePolicy = Microsoft.AspNetCore.Http.CookieSecurePolicy.None;
        opt.Cookie.HttpOnly = true;                
        opt.Cookie.Expiration = TimeSpan.FromHours(4);
        opt.ExpireTimeSpan = TimeSpan.FromHours(4);
    });
登录呼叫成功:

result=wait\u signInManager.PasswordSignInAsync(portal.ID、model.Username、model.Password、model.RememberMe、true、loggedInUser)

但是,一旦用户被重定向到需要身份验证的主页,我会在调试输出中看到以下内容:

Microsoft.AspNetCore.Authorization.DefaultAuthorizationService:信息:授权失败。

。。。用户将返回到登录页面


是否有办法解决这个问题?

< P>我会考虑在不同的域中运行你的站点,然后将域映射到主机文件中的本地主机(或者更确切地说是127.0.0.1)。 这个问题解释了这项技术:

这里有一篇文章解释了不同操作系统的主机文件:

问题已解决

services.ConfigureApplicationCookie(opt =>
{
    opt.Cookie.Name = "Unique Value Per App";
});

我所要做的就是把它贴在上面,然后问题就自行解决了

聪明!非常感谢。