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)
{
......
}