.NET Core 2.0 Cookie中间件 权限验证

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)
{
    ......
} 
原文地址:https://www.cnblogs.com/lyl6796910/p/7380852.html