/// <summary>尝试登录。如果Session未登录则借助Cookie</summary> /// <param name="provider">提供者</param> /// <param name="context">Http上下文,兼容NetCore</param> public static IManageUser TryLogin(this IManageProvider provider, HttpContext context) { var serviceProvider = context?.RequestServices; // 判断当前登录用户 var user = provider.GetCurrent(serviceProvider); if (user == null) { // 尝试从Cookie登录 user = provider.LoadCookie(true, context); if (user != null) { provider.SetCurrent(user, serviceProvider); } } // 设置前端当前用户 if (user != null) { provider.SetPrincipal(serviceProvider); } return(user); }
/// <summary>尝试登录。如果Session未登录则借助Cookie</summary> /// <param name="provider">提供者</param> /// <param name="context">Http上下文,兼容NetCore</param> public static IManageUser TryLogin(this IManageProvider provider, IServiceProvider context = null) { // 判断当前登录用户 var user = provider.GetCurrent(context); if (user == null) { // 尝试从Cookie登录 user = provider.LoadCookie(true, context); if (user != null) { provider.SetCurrent(user, context); } } // 设置前端当前用户 if (user != null) { provider.SetPrincipal(context); } return(user); }