ConfigureApplicationCookie.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using Microsoft.AspNetCore.Authentication.Cookies;
  2. using Microsoft.Extensions.Configuration;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using VberZero;
  5. namespace VberAdmin.Identity;
  6. public static class ConfigureApplicationCookie
  7. {
  8. /// <summary>
  9. /// 自定义Cookie选项
  10. /// </summary>
  11. /// <param name="services"></param>
  12. /// <param name="configuration"></param>
  13. public static void ConfigureCustomApplicationCookie(this IServiceCollection services, IConfiguration configuration)
  14. {
  15. if (!int.TryParse(configuration["AuthSession:ExpireTimeInMinutes"], out int expireTime))
  16. {
  17. expireTime = VzConsts.SignInExpireMinutes;
  18. }
  19. services.ConfigureApplicationCookie(options =>
  20. {
  21. //访问拒绝路径
  22. options.AccessDeniedPath = "/Account/Login";
  23. options.Cookie.Name = VberAdminConsts.AspNetCoreCookieName;
  24. options.Cookie.HttpOnly = true;
  25. options.ExpireTimeSpan = TimeSpan.FromMinutes(expireTime);
  26. options.LoginPath = "/Account/Login";
  27. // ReturnUrlParameter requires
  28. //using Microsoft.AspNetCore.Authentication.Cookies;
  29. options.ReturnUrlParameter = CookieAuthenticationDefaults.ReturnUrlParameter;
  30. options.SlidingExpiration = true;
  31. });
  32. }
  33. }