我想在我的域中设置多个网络应用程序。我正在将 VS2022 解决方案与多个项目和共享类库一起使用,以将所有内容放在一起。
我希望如果我登录该应用程序并导航到任何其他应用程序,我也会自动登录该应用程序,当然注销,效果相同。
目前,我可以登录应用程序 1,转到应用程序 2 并在那里登录,但当我返回到应用程序 1 时,我已注销。
目前在我的初创公司中,我有以下内容
services.ConfigureApplicationCookie(options =>
{
options.Cookie.Name = "AspNet.SharedCookie";
options.Cookie.Path = "/";
options.Cookie.Domain = "localhost"; // "*.example.com";
options.Cookie.SameSite = SameSiteMode.Lax;
});
services.AddAuthentication("AspNet.SharedCookie");
身份平台是来自sql server的
Microsoft.Identity
。我认为那里没有任何问题,因为我在任何地方都成功登录/退出。
services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = false)
.AddRoles<IdentityRole>().AddEntityFrameworkStores<ApplicationDbContext>();
我的应用程序当前运行 localhost:1000、localhost:2000、localhost:3000 等,但这最终会变成 app1.example.com、app2.example.com 等。
AspNet.SharedCookie
在所有网站上都可用,但显然会根据当前应用程序进行更改。
我虽然更改了应用程序 ID,但我认为这不是一个好主意,而且没有效果。
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>aspnet-DEV.app1-USE THIS SAME ID IN ALL APPS</UserSecretsId>
</PropertyGroup>
如何才能正确地使所有应用程序保持标准并具有自己的登录身份,但切换应用程序应保留该登录信息?