我正在尝试通过在两个 .net core 3.1 应用程序之间共享 cookie 来实现 SSO。我已经关注了这个链接。我正在尝试通过在链接中提到的应用程序之间共享 Cookie 来实现它。
我的想法是如果用户未经授权,它应该无法查看第二个索引(查看)页面。它应该将自己重定向到第一个应用程序中的登录页面并成功登录然后应该能够看到该页面。如果用户已经登录,那么它应该直接显示页面。这是我的想法。
我的问题是:
如何将其重定向到登录页面?这两个 Web 应用程序是不同的应用程序。
我的代码如下。但它不会重定向它。我的第一个应用程序是Login APP Startup.cs文件看起来像这样
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddAuthentication("Identity.Application")
.AddCookie("Identity.Application", options =>
{
options.Cookie.Name = ".AspNet.SharedCookie";
options.Cookie.Path = "/Home/Login";
});
services.AddDataProtection()
.PersistKeysToFileSystem(new DirectoryInfo(@"C:\Users\Yourname\AppData\Local\ASP.NET\DataProtection-Keys"))
.SetApplicationName("SharedCookieApp");
services.AddDataProtection()
.ProtectKeysWithDpapi();
services.ConfigureApplicationCookie(options => {
options.Cookie.Name = ".AspNet.SharedCookie";
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if …Run Code Online (Sandbox Code Playgroud)