/// <summary> /// 是否已登录 /// </summary> /// <returns></returns> public virtual int IsOnLine() { OperatorAgent user = new OperatorAgent(); if (LoginProvider == "Cookie") { user = DESEncrypt.Decrypt(WebHelper.GetCookie(LoginUserKey).ToString()).ToObject <OperatorAgent>(); } else { user = DESEncrypt.Decrypt(WebHelper.GetSession(LoginUserKey).ToString()).ToObject <OperatorAgent>(); } object token = CacheFactory.Cache().GetCache <string>(user.Id.ToString()); if (token == null) { return(-1);//过期 } if (user.Token == token.ToString()) { return(1);//正常 } else { return(0);//已登录 } }
/// <summary> /// 写入登录信息 /// </summary> /// <param name="user">成员信息</param> public virtual void AddCurrent(OperatorAgent user) { try { if (LoginProvider == "Cookie") { WebHelper.WriteCookie(LoginUserKey, DESEncrypt.Encrypt(user.ToJson())); } else { WebHelper.WriteSession(LoginUserKey, DESEncrypt.Encrypt(user.ToJson())); } CacheFactory.Cache().WriteCache(user.Token, user.Id.ToString(), user.LogTime.AddHours(1)); } catch (Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// 当前用户 /// </summary> /// <returns></returns> public virtual OperatorAgent Current() { try { OperatorAgent user = new OperatorAgent(); if (LoginProvider == "Cookie") { user = DESEncrypt.Decrypt(WebHelper.GetCookie(LoginUserKey).ToString()).ToObject <OperatorAgent>(); } else if (LoginProvider == "AppClient") { user = CacheFactory.Cache().GetCache <OperatorAgent>(AppId); } else { user = DESEncrypt.Decrypt(WebHelper.GetSession(LoginUserKey).ToString()).ToObject <OperatorAgent>(); } return(user); } catch (Exception ex) { throw new Exception(ex.Message); } }