/// <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>();
             #region 解决cookie时,设置数据权限较多时无法登陆的bug
             AuthorizeDataModel dataAuthorize = CacheFactory.Cache().GetCache <AuthorizeDataModel>(LoginUserKey);
             user.DataAuthorize = dataAuthorize;
             #endregion
         }
         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>();
                #region 解决cookie时,设置数据权限较多时无法登陆的bug
                AuthorizeDataModel dataAuthorize = CacheFactory.Cache().GetCache <AuthorizeDataModel>(LoginUserKey);
                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);//已登录
            }
        }
Пример #3
0
        /// <summary>
        /// 是否已登录
        /// </summary>
        /// <returns></returns>
        public virtual int IsOnLine()
        {
            Operator user = new Operator();

            if (LoginProvider == "Cookie")
            {
                user = DESEncrypt.Decrypt(WebHelper.GetCookie(LoginUserKey).ToString()).ToObject <Operator>();
            }
            else
            {
                user = DESEncrypt.Decrypt(WebHelper.GetSession(LoginUserKey).ToString()).ToObject <Operator>();
            }
            AuthorizeDataModel dataAuthorize = CacheFactory.Cache().GetCache <AuthorizeDataModel>(user.UserId);

            if (user == null)
            {
                return(-1);//过期
            }
            if (dataAuthorize.Token == user.Token)
            {
                return(1);//正常
            }
            else
            {
                return(0);//已登录
            }
        }
Пример #4
0
 /// <summary>
 /// 设置当前的数据权限
 /// </summary>
 /// <param name="model"></param>
 public virtual void AddCurrentDataAuthorize(AuthorizeDataModel dataAuthorize, string userId)
 {
     try
     {
         CacheFactory.Cache().WriteCache(dataAuthorize, userId, DateTime.Now.AddHours(12));
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #5
0
 /// <summary>
 /// 写入登录信息
 /// </summary>
 /// <param name="user">成员信息</param>
 /// <param name="dataAuthorize">成员数据权限</param>
 public virtual void AddCurrent(Operator user, AuthorizeDataModel dataAuthorize)
 {
     try
     {
         if (LoginProvider == "Cookie")
         {
             WebHelper.WriteCookie(LoginUserKey, DESEncrypt.Encrypt(user.ToJson()));
         }
         else
         {
             WebHelper.WriteSession(LoginUserKey, DESEncrypt.Encrypt(user.ToJson()));
         }
         dataAuthorize.Token = user.Token;
         CacheFactory.Cache().WriteCache(dataAuthorize, user.UserId, user.LogTime.AddHours(12));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        /// <summary>
        /// 是否过期
        /// </summary>
        /// <returns></returns>
        public virtual bool IsOverdue()
        {
            try
            {
                object             str           = "";
                AuthorizeDataModel dataAuthorize = null;
                if (LoginProvider == "Cookie")
                {
                    str = WebHelper.GetCookie(LoginUserKey);
                    #region 解决cookie时,设置数据权限较多时无法登陆的bug
                    dataAuthorize = CacheFactory.Cache().GetCache <AuthorizeDataModel>(LoginUserKey);

                    if (dataAuthorize == null)
                    {
                        return(true);
                    }
                    #endregion
                }
                else
                {
                    str = WebHelper.GetSession(LoginUserKey);
                }
                if (str != null && str.ToString() != "")
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception)
            {
                return(true);
            }
        }