/// <summary> /// 当前用户 /// </summary> /// <returns></returns> public virtual Operator Current() { try { Operator user = new Operator(); if (LoginProvider == "Cookie") { user = DESEncrypt.Decrypt(WebHelper.GetCookie(LoginUserKey).ToString()).ToObject <Operator>(); if (user != null) { var LoginUserAuthorizesKey = LoginUserKey + user.UserId; #region 解决cookie时,设置数据权限较多时无法登陆的bug AuthorizeDataModel dataAuthorize = CacheFactory.Cache().GetCache <AuthorizeDataModel>(LoginUserAuthorizesKey); user.DataAuthorize = dataAuthorize; #endregion //System.IO.File.AppendAllText("d:\\epclog.txt", "Current=>GetCache:UserID:" + user.UserId + ";CacheCount:" + dataButtonAuthority_View.Count() + "\r\n"); } } else if (LoginProvider == "AppClient") { user = CacheFactory.Cache().GetCache <Operator>(AppUserId); } else { user = DESEncrypt.Decrypt(WebHelper.GetSession(LoginUserKey).ToString()).ToObject <Operator>(); } return(user); } catch (Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// 是否已登录 /// </summary> /// <returns></returns> public virtual int IsOnLine() { Operator user = new Operator(); if (LoginProvider == "Cookie") { user = DESEncrypt.Decrypt(WebHelper.GetCookie(LoginUserKey).ToString()).ToObject <Operator>(); if (user != null) { return(-1);//过期 } var LoginUserAuthorizesKey = LoginUserKey + user.UserId; #region 解决cookie时,设置数据权限较多时无法登陆的bug AuthorizeDataModel dataAuthorize = CacheFactory.Cache().GetCache <AuthorizeDataModel>(LoginUserAuthorizesKey); user.DataAuthorize = dataAuthorize; #endregion } else { user = DESEncrypt.Decrypt(WebHelper.GetSession(LoginUserKey).ToString()).ToObject <Operator>(); } object token = CacheFactory.Cache().GetCache <string>(user.UserId); if (token == null) { return(-1);//过期 } if (user.Token == token.ToString()) { return(1);//正常 } else { return(0);//已登录 } }