public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { if (actionExecutedContext.Response != null) { ApiResponse response = actionExecutedContext.Response.Content.ReadAsAsync<ApiResponse>().Result; dynamic user = response.Data; if (user != null) { var sysNo = user.GetType().GetProperty("SysNo").GetValue(user); if (sysNo != null && sysNo > 0) { var userInfo = new UserInfo { UserID = user.GetType().GetProperty("UserID").GetValue(user), UserSysNo = sysNo, UserName = user.GetType().GetProperty("UserName").GetValue(user), ExpiredDate = DateTime.Now.AddHours(1) }; //UserHelper.SetUserSession(userInfo); actionExecutedContext.Response.Content.Headers.Add("user-authorize", UserHelper.CreateUserToken(userInfo)); } } } }
public static string CreateUserToken(UserInfo userInfo) { string text = string.Format("{0}-{1}-{2}-{3}", userInfo.UserID, userInfo.UserName, userInfo.UserSysNo, userInfo.ExpiredDate.ToString("yyyy/MM/dd HH:mm:ss")); return SymmetricEncryption.Encrypt(text); }
public static void SetUserSession(UserInfo user) { _userCache.AddToCache(user.UserID, user, MyCachePriority.Default, user.ExpiredDate); //if (HttpContext.Current.Session[user.UserID] == null) //{ // HttpContext.Current.Session.Add(user.UserID, user); //} //else //{ // HttpContext.Current.Session[user.UserID] = user; //} }