예제 #1
0
        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));
                    }
                }
            }
        }
예제 #2
0
 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);
 }
예제 #3
0
 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;
     //}
 }