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.成功); }
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); }