public static CurrentUser GetCurrentUser() { if (HttpContext.Current == null) { return(null); } CurrentUser cuser = null; string cookieLoginInfo = CookieMgr.Get(UserBLL.LoginCookieName); if (!string.IsNullOrEmpty(cookieLoginInfo)) { var CrypteKey = ConfigMgr.GetAppSettingString("CrypteKey"); cuser = JsonConvert.DeserializeObject <CurrentUser>(Cryptor.DesDecrypt(cookieLoginInfo, CrypteKey)); string cacheLoginInfo = CacheMaker.RedisCache.Get <string>(cuser.UserID); if (!string.IsNullOrEmpty(cacheLoginInfo)) { if (cookieLoginInfo.Equals(cacheLoginInfo)) { return(cuser); } else { return(null); } } else { return(null); } } else { return(null); } }
/// <summary> /// 判断当前请求是否还了用户登录的cookie信息,如果带了,则再判断服务器缓存中记录是否有该用户的登录信息并是否一致 /// </summary> /// <param name="request"></param> /// <param name="cuser"></param> /// <returns></returns> private bool IsSignIn(HttpRequestBase request, out CurrentUser cuser) { cuser = null; string cookieLoginInfo = CookieMgr.Get(UserBLL.LoginCookieName); if (!string.IsNullOrEmpty(cookieLoginInfo)) { var CrypteKey = ConfigMgr.GetAppSettingString("CrypteKey"); cuser = JsonConvert.DeserializeObject <CurrentUser>(Cryptor.DesDecrypt(cookieLoginInfo, CrypteKey)); string cacheLoginInfo = CacheMaker.RedisCache.Get <string>("sidkey" + cuser.UserID); if (!string.IsNullOrEmpty(cacheLoginInfo)) { return(cookieLoginInfo.Equals(cacheLoginInfo)); } else { return(false); } } else { return(false); } }