1. 程式人生 > >asp.net core 2.0 Cookie 使用

asp.net core 2.0 Cookie 使用

直接上程式碼

1、配置

startup.cs 中

public void ConfigureServices(IServiceCollection services)
{
    // 新增 Cook 服務
    services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options =>
    {
        options.LoginPath = "/Account/LogIn";
        options.LogoutPath = "/Account/LogOff"
; }); services.AddMvc(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { ...... // 使用Cook的中介軟體 app.UseAuthentication(); ...... }
2、登入
public IActionResult Login(){
    var user = new ClaimsPrincipal(
    new ClaimsIdentity(new
[] { new Claim(ClaimTypes.Name, username), }, CookieAuthenticationDefaults.AuthenticationScheme)); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, user, new Microsoft.AspNetCore.Authentication.AuthenticationProperties { IsPersistent = true
, ExpiresUtc = DateTimeOffset.Now.Add(TimeSpan.FromDays(7)) // 有效時間 }); return view(); }
3、退出登入
public async Task<IActionResult> Logout()
{
    await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
    return RedirectToAction("Login", "Account");
}