1:在ConfigureServices添加Cookie中间件,使用自定义Scheme services.AddAuthentication(options=> { options.DefaultChallengeScheme =“test”; options.DefaultSignInScheme = "test"; options.DefaultAuthenticateScheme = "test"; }) .AddCookie("test", m => { m.LoginPath = new PathString("/Account/Login"); m.AccessDeniedPath = new PathString("/Account/Denied"); m.LogoutPath = new PathString("/Account/Logout"); m.Cookie.Path = "/"; });
2:在Configure使用Cookie中间件 app.UseAuthentication();
3、引入命名空间 using Microsoft.AspNetCore.Authentication;
4、使用方式 //登录 await HttpContext.SignInAsync("test", userPrincipal, new AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddHours(12), IsPersistent = true, AllowRefresh = false }); //退出 await HttpContext.SignOutAsync("test");
5、AuthorizeAsync现在返回结果为AuthorizationResult 使用方式 1 2 3 4 5 var result = await HttpContext.AuthenticateAsync("xxxx"); if (result.Succeeded) { ...... }