示例#1
0
        /// <summary>
        /// 申请登陆
        /// </summary>
        /// <param name="name">账户名</param>
        /// <param name="password">登陆密码</param>
        /// <param name="effectiveTime">保存时间</param>
        /// <param name="isAdmin">是否管理员登陆</param>
        /// <returns></returns>
        private EnumLoginState ApplyLogin(string name, string password, int effectiveTime, bool isAdmin)
        {
            if (string.IsNullOrEmpty(name))
            {
                return(EnumLoginState.AccountError);
            }
            Users user = new Users();

            if (name.Contains("@"))
            {
                user = UsersAccessor.GetByEmail(name);
            }
            else
            {
                user = UsersAccessor.GetByMobile(name);
            }
            if (user == null)
            {
                return(EnumLoginState.AccountError);
            }
            if (!string.Equals(user.Password, Strings.PasswordEncrypt(password)))
            {
                return(EnumLoginState.PasswordError);
            }


            UserId           = user.UserId;
            Password         = user.Password;
            Username         = user.Username;
            Mobile           = user.Mobile;
            Email            = user.Email;
            CurrentLoginTime = DateTime.Now;
            PermissionCode   = user.PermissionCode;

            SaveLogin(this, effectiveTime);
            SessionBag.Refresh();
            SessionBag.CopyValue();
            //更新用户登陆次数
            //更新在线数据
            return(EnumLoginState.Succeed);
        }