示例#1
0
        public static LoginStatus Login(long siteId, string socialID)
        {
            MemberShipModels memberItem = MemberShipDAO.GetItemBySocialID(siteId, socialID);

            if (memberItem == null)
            {
                return(LoginStatus.用戶名不存在);
            }

            if (!memberItem.Status)
            {
                return(LoginStatus.用戶已禁用);
            }


            Member member = new Member
            {
                ID      = memberItem.ID,
                Account = memberItem.Account,
                Name    = memberItem.Name,
                Type    = memberItem.MemberType
            };

            HttpContext.Current.Session[key] = member;
            MemberShipDAO.UpdateLoginTime(member.ID);
            return(LoginStatus.成功);
        }
示例#2
0
        public static LoginStatus Login(long siteId, string account, string password, bool IsAddSession = true)
        {
            MemberShipModels memberItem = null;

            WorkV3.Areas.Backend.Models.MemberShipRegSetModels regSetModel = WorkV3.Areas.Backend.Models.DataAccess.MemberShipRegSetDAO.GetItem(siteId);
            if (regSetModel != null)
            {
                if (!regSetModel.IsOpenReg)
                {
                    return(LoginStatus.用戶已禁用);
                }
                foreach (WorkV3.Areas.Backend.Models.MemberShipLoginType ltype in regSetModel.LoginTypeList)
                {
                    switch (ltype)
                    {
                    case Areas.Backend.Models.MemberShipLoginType.InputAccount:
                        memberItem = MemberShipDAO.GetItem(siteId, account);
                        break;

                    case Areas.Backend.Models.MemberShipLoginType.Email:
                        memberItem = MemberShipDAO.GetItemByEmail(siteId, account);
                        break;

                    case Areas.Backend.Models.MemberShipLoginType.ID:
                        memberItem = MemberShipDAO.GetItemByIDCard(siteId, account);
                        break;

                    case Areas.Backend.Models.MemberShipLoginType.Mobile:
                        memberItem = MemberShipDAO.GetItemByMobile(siteId, account);
                        break;
                    }
                    if (memberItem != null)
                    {
                        break;
                    }
                }
            }
            if (memberItem == null)
            {
                return(LoginStatus.用戶名不存在);
            }
            if (!memberItem.Status)
            {
                return(LoginStatus.用戶已禁用);
            }

            if (memberItem.Password != password)
            {
                return(LoginStatus.密碼錯誤);
            }

            LoginStatus lStatus = LoginStatus.用戶名不存在;

            if (string.IsNullOrEmpty(memberItem.VerifyTime) & regSetModel.VerifyType == Areas.Backend.Models.MemberShipVerifyType.Email)
            {
                lStatus = LoginStatus.EMail未驗證;
            }
            else if (regSetModel.VerifyType == Areas.Backend.Models.MemberShipVerifyType.Mobile)
            {
                if (!string.IsNullOrEmpty(memberItem.VerifyTime) && memberItem.MobileVerifyCode == "000000")
                {
                    lStatus = LoginStatus.成功;
                }
                else
                {
                    lStatus = LoginStatus.手機未驗證;
                }
            }
            else
            {
                lStatus = LoginStatus.成功;
            }
            Member member = new Member
            {
                ID      = memberItem.ID,
                Account = memberItem.Account,
                Name    = memberItem.Name,
                Type    = MemberType.Web
            };

            if (IsAddSession)
            {
                HttpContext.Current.Session[key] = member;
            }
            MemberShipDAO.UpdateLoginTime(member.ID);
            return(lStatus);
        }