示例#1
0
        /// <summary>
        /// 更新主留言內容
        /// </summary>
        /// <param name="loginData">會員登入資料</param>
        /// <param name="Content">編輯內容</param>
        /// <param name="MainMessageID">主留言編號</param>
        /// <returns>新留言內容</returns>
        public string UpdateMainMessage(MemberLoginModel loginData, string Content, string MainMessageID)
        {
            //資料庫編輯過後的留言
            string UpdatedMessage = string.Empty;

            //前端取得ID 為M_32
            string[] MainID = MainMessageID.Split('_');

            //判斷是否分析字串後是否長度大於0 & 是否可轉型 & 轉型後ID不可為0
            int guestbookID = 0;

            if (MainID.Length > 0 && int.TryParse(MainID[1], out guestbookID) && guestbookID != 0)
            {
                UpdateMainMessageModel updateModel = new UpdateMainMessageModel
                {
                    MemberID    = loginData.Member_ID,
                    GuestBookID = guestbookID,
                    Content     = Content,
                    UpdateTime  = DateTime.Now
                };

                UpdatedMessage = guestbookRepository.UpdateMainMessageContent(updateModel);
            }

            return(UpdatedMessage);
        }
        /// <summary>
        /// 顯示留言板頁面
        /// </summary>
        /// <returns></returns>
        public ActionResult GetMessage(int page = 1)
        {
            //ETMall.Common.DataAccess.MSSQL.SqlHelper.ExecuteNonQuery()
            //Connection.Query
            //使用者登入資料
            string           login     = SessionLogin();
            MemberLoginModel loginData = new MemberLoginModel();

            //取得會員登入資料
            if (!string.IsNullOrWhiteSpace(login))
            {
                loginData = _guestbookService.GetMember(login);
            }

            //判斷現在第幾頁
            int currentPage = page < 1 ? 1 : page;

            var mainMessage = _guestbookService.GetMainMessage(loginData.Role, loginData.Member_ID);

            //return View(mainMessage);

            var result = mainMessage.ToPagedList(currentPage, pageSize);

            return(View(result));
        }
示例#3
0
        /// <summary>
        /// 刪除主留言
        /// </summary>
        /// <param name="loginData">會員登入資料</param>
        /// <param name="mainID">主留言ID</param>
        /// <returns>傳回是否刪除成功字樣</returns>
        public string DeleteMessage(MemberLoginModel loginData, string mainID)
        {
            //回傳給前端是否動態刪除主留言
            string IsSuccessed = string.Empty;

            //取得主留言ID,傳進來參數 EX:M_32
            string[] mainArrary = mainID.Split('_');

            //轉換主留言ID 為 int 型態
            int  guestbookID    = 0;
            bool getguestbookID = int.TryParse(mainArrary[1], out guestbookID);

            //存放更新資料庫 影響筆數
            int effectCount = 0;

            if (getguestbookID && guestbookID != 0)
            {
                effectCount = guestbookRepository.DeleteMainMessage(loginData.Member_ID, loginData.Role, guestbookID);
            }

            //是否影響資料庫資料是否大於1筆,代表更新成功,就回傳字串 Y
            IsSuccessed = effectCount > 0 ? "Y" : string.Empty;

            return(IsSuccessed);
        }
示例#4
0
        /// <summary>
        /// 新增回覆留言後,查詢出此主留言下回覆留言資料
        /// </summary>
        /// <param name="Content">回覆留言內容</param>
        /// <param name="MainMessageID">主留言ID</param>
        /// <param name="IP">回覆留言者IP</param>
        /// <param name="Isprivate">是否為悄悄話</param>
        /// <param name="loginData">會員登入資料</param>
        /// <returns></returns>
        public List <GetReplyMessageViewModel> AddReplyMessage(string Content, string MainMessageID, string IP
                                                               , string Isprivate, MemberLoginModel loginData)
        {
            //組合新增回覆留言資料
            ReplyGuestbooksModel replyGuestModel = new ReplyGuestbooksModel()
            {
                GuestBookID     = Convert.ToInt32(MainMessageID),
                MemberID        = loginData.Member_ID,
                Member_IP       = IP,
                ReplyTime       = DateTime.Now,
                Reply_Content   = Content,
                SecurityMessage = Isprivate.Equals("Private") ? true : false
            };

            List <GetReplyMessageViewModel> replyMessageList = new List <GetReplyMessageViewModel>();

            //新增回覆留言後,查詢出此主留言下回覆留言資料
            var replyMessagelist = guestbookRepository.AddReplyMessage(replyGuestModel, loginData.Role);

            if (replyMessagelist.Count() > 0)
            {
                foreach (var replymessage in replyMessagelist)
                {
                    replymessage.MemberName = replymessage.MemberName.Equals("??") ? "匿名" : replymessage.MemberName;

                    if (replymessage.IsPrivateMessage != "T")
                    {
                        replyMessageList.Add(replymessage);
                    }
                }
            }
            return(replyMessageList);
        }
示例#5
0
        public async Task <JsonResult <MemberLoginModel> > LoginMember(MemberLoginModel entity)
        {
            Dictionary <bool, string> dic = await _memberService.LoginMember(entity);

            if (dic.First().Key)
            {
                //根据用户名和手机号获取MemberID

                Members member = await DbHelper.QuerySingleAsync <Members>("select * from Members where MemberName=@MemberName or MemberPhone=@MemberPhone", new
                {
                    MemberName  = entity.Account,
                    MemberPhone = entity.Account
                });

                entity.MemberID    = member.MemberID;
                entity.MemberName  = member.MemberName;
                entity.MemberPhone = member.MemberPhone;
            }


            return(new JsonResult <MemberLoginModel>
            {
                status = dic.First().Key,
                Message = dic.First().Value,
                Data = entity
            });
        }
        public ActionResult GetReplyMessage(string guestBookID)
        {
            //使用者登入資料
            string login = SessionLogin();

            //存放使用者登入資料物件
            MemberLoginModel loginData = new MemberLoginModel();

            //取得會員登入資料
            if (!string.IsNullOrWhiteSpace(login))
            {
                loginData = _guestbookService.GetMember(login);
            }

            //此主留言下回覆留言資料存放物件
            List <GetReplyMessageViewModel> replyMessageList = new List <GetReplyMessageViewModel>();

            //GuestBookID 取得
            if (!string.IsNullOrWhiteSpace(guestBookID))
            {
                string[] mainGuestIDArray = guestBookID.Split('_');
                guestBookID = mainGuestIDArray[1];
            }
            //確認是否可轉型成 int 型態
            int  realmainGuestID  = 0;
            bool checkmainGuestID = int.TryParse(guestBookID, out realmainGuestID);

            if (checkmainGuestID)
            {
                replyMessageList = _guestbookService.GetReplyMessage(realmainGuestID, loginData);
            }
            return(Json(replyMessageList));
        }
示例#7
0
        public ActionResult Login(LoginViewModel login)
        {
            if (ModelState.IsValid)
            {
                //密碼加密
                login.Password = memberservice.HashPassword(login.Password);

                //查詢會員資料
                MemberLoginModel logindata = memberservice.GetMemberLoginData(login.Account, login.Password);

                //會員資料寫入Session
                if (logindata != null)
                {
                    //Session["Login"] = string.Format("{0}_{1}_{2}", logindata.Member_ID, logindata.NickName, logindata.Role);
                    //物件序列化成JSON
                    Session[SessionManager.SessionKey.SessionKeyName.MemberLogin] = JsonConvert.SerializeObject(logindata);
                }

                if (Session[SessionManager.SessionKey.SessionKeyName.MemberLogin] != null)
                {
                    //轉導頁面到留言板
                    return(RedirectToAction("GetMessage", "GuestBook"));
                }
            }

            ViewBag.Error = "密碼輸入錯誤,請重新輸入密碼。";

            return(View());
        }
示例#8
0
        /// <summary>
        /// 登录用户
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <Dictionary <bool, string> > LoginMember(MemberLoginModel model)
        {
            Dictionary <bool, string> dic = new Dictionary <bool, string>();

            DbParameter[] parameters = new DbParameter[] {
                new SqlParameter("@Account", SqlDbType.NVarChar, 50)
                {
                    Value = model.Account
                },
                new SqlParameter("@Password", SqlDbType.NVarChar, 100)
                {
                    Value = model.HashPassword
                },
                new SqlParameter("@Flag", SqlDbType.Bit)
                {
                    Direction = ParameterDirection.Output
                },
                new SqlParameter("@Message", SqlDbType.NVarChar, 50)
                {
                    Direction = ParameterDirection.Output
                }
            };
            await DbHelper.ExecuteSqlCommandAsync("Member_Login", parameters, CommandType.StoredProcedure);

            dic.Add((bool)parameters[2].Value, parameters[3].Value.ToString());

            return(dic);
        }
示例#9
0
        public ActionResult Index(MemberLoginModel model)
        {
            try
            {
                Data.DTOs.LoginDTO member = Login.CreateLoginDTO(model.Gmail, model.Password, model.RememberMe);

                if (member.LoginStatus == (int)Data.Enumerations.LoginStatus.Successful)
                {
                    Session["Member"] = member;

                    Session.Timeout = member.RememberMe ? 525600 : 20;

                    return(RedirectToAction("Index", "Member"));
                }
                else if (member.LoginStatus == (int)Data.Enumerations.LoginStatus.IncorrectPassword)
                {
                    return(RedirectToAction("Index", new { message = "Pogresna lozinka." }));
                }
                else
                {
                    return(RedirectToAction("Index", new { message = "Ne postoji taj nalog." }));
                }
            }
            catch (Exception exception)
            {
                return(RedirectToAction("Index", new { message = "Nesto ne valja" + exception }));
            }
        }
        public async Task GetToken(MemberLoginModel model)
        {
            try
            {
                var objModel = new
                {
                    username     = model.UserName,
                    userPassword = model.Password
                };

                StringContent requestMessage = new StringContent($"{JsonConvert.SerializeObject(objModel)}", Encoding.UTF8, "application/json");

                HttpResponseMessage response = await client.PostAsync(authServer, requestMessage);

                if (response.IsSuccessStatusCode)
                {
                    var body = await response.Content.ReadAsStringAsync();

                    var bodyDeserialize = JsonConvert.DeserializeObject <TokenModel>(body);

                    Application.Current.Properties["AccessToken"] = bodyDeserialize.AccessToken;
                    await DisplayAlert("Done", "Authentication สำเร็จ", "OK");
                }
            }
            catch (Exception)
            {
                ////HttpContext.Session.Clear();
                //ViewBag.m = "Can't connect to Authentication Server";
                await DisplayAlert("Alert", "ไม่สามารถเชื่อมต่อกับ Authentication Server", "OK");

                //return RedirectToAction("Login");
                //// ถ้า connect token server ไม่ได้ จะ error ตรงนี้
            }
        }
        public ActionResult MemberLoginRenderForm()
        {
            MemberLoginModel model = new MemberLoginModel();

            string checkUrl = HttpContext.Request.Url.AbsolutePath.ToString();

            // add a trailing / if there isn't one (you can access the same page via http://mydomain.com/login or http://mydomain.com/login/)
            if (checkUrl[checkUrl.Length - 1] != '/')
            {
                checkUrl = checkUrl + "/";
            }

            // if we don't have a session variable and have a request URL then store it
            // we have to store it because if user tries an incorrect login then Current.Request.Url will show /umbraco/RenderMvc
            // in MVC we won't have "/umbraco/RenderMvc" but I leave this in here just in case
            if (HttpContext.Request.Url != null && HttpContext.Request.Url.AbsolutePath.ToString() != "/umbraco/RenderMvc" && HttpContext.Session["redirectURL"] == null)
            {
                if (checkUrl.ToLower() != membersLoginUrl && checkUrl.ToLower() != "/login/")
                {
                    HttpContext.Session["redirectURL"] = HttpContext.Request.Url.ToString();
                }
            }

            // set this to be checked by default - wish you could just pass checked=checked
            model.RememberMe = true;
            return(PartialView("Account/MemberLogin", model));
        }
示例#12
0
        public ActionResult AddToCart(int productId)
        {
            var sepet = new SepetSession();

            Urun urun = manager.GetProductById(productId);

            if (Session["UyeGirdi"] != null)
            {
                MemberLoginModel uye = (MemberLoginModel)Session["UyeGirdi"];

                SepettekiUrunler s = new SepettekiUrunler();

                s.UrunId = productId;
                s.Miktar = 1;
                SepetManager.AddBasket(s, uye.UyeId);

                List <SepettekiUrunler> sepettekiler = SepetManager.GetItemsOnBasketByMemberId(uye.UyeId);

                sepet = SepetManager.Sepettekiler(sepettekiler);
                return(View("Index", sepet));
            }
            else
            {
                sepet = (SepetSession)Session["cart"];
                if (sepet == null)
                {
                    sepet           = new SepetSession();
                    Session["cart"] = sepet;
                }
                sepet.AddToCart(urun, 1);
            }

            return(View("Index", sepet));
        }
示例#13
0
        public ActionResult DeleteMessage(string MainMessageID)
        {
            //資料庫編輯過後的留言
            string DeletedMessage = string.Empty;

            //使用者登入資料
            string login = SessionLogin();

            //存放使用者登入資料物件
            MemberLoginModel loginData = new MemberLoginModel();

            //取得會員登入資料
            if (!string.IsNullOrWhiteSpace(login))
            {
                loginData = _guestbookService.GetMember(login);
            }

            if (loginData != null & !string.IsNullOrWhiteSpace(MainMessageID))
            {
                DeletedMessage = _guestbookService.DeleteMessage(loginData, MainMessageID);
            }


            return(Content(DeletedMessage));
        }
        public ActionResult Login(MemberLoginModel viewModel)
        {
            try
            {
                var googleRecaptcha = new Models.GoogleReCaptchaValidator(Request);
                if (!googleRecaptcha.ValidateRequest())
                {
                    throw new Exception("Please fill out the reCAPTCHA");
                }

                if (ModelState.IsValid)
                {
                    if (viewModel.Login())
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        throw new Exception("Invalid username or password");
                    }
                }
            }
            catch (Exception ex)
            {
                while (ex != null)
                {
                    ModelState.AddModelError("", ex.Message);
                    ex = ex.InnerException;
                }
            }

            return(View());
        }
    public ActionResult MemberLoginGet()
    {
        var model = new MemberLoginModel {
            ReturnUrl = Request.Url.AbsoluteUri
        };

        return(PartialView("MemberLogin", model));
    }
示例#16
0
 /// <summary>
 /// 登入資料寫入Session
 /// </summary>
 /// <param name="model">登入資料</param>
 public void WriteLoginSession(MemberLoginModel model)
 {
     //會員資料寫入Session
     if (model != null)
     {
         HttpContext.Current.Session[SessionKey.SessionKeyName.MemberLogin] = JsonConvert.SerializeObject(model);
     }
 }
示例#17
0
        public ApiResult Login([FromBody] MemberLoginModel member)
        {
            Argument.ThrowIfNullOrEmpty(member.PhoneNumber, "手机号码");
            Argument.ThrowIfNullOrEmpty(member.Password, "登陆密码");

            var user   = Platform == Platform.Web? _userManager.Find(member.PhoneNumber, member.Password): _userManager.Find(member.PhoneNumber, _securityService.Decrypt(member.Password));
            var result = Login(member.MobileDevice, user, member.OpenId);

            return(result);
        }
示例#18
0
        public ActionResult ChangePassword(Guid id, MemberLoginModel memberLogin, [Bind(Include = "SendPasswordEmail")] CheckBoxValue sendPasswordEmail)
        {
            var member = _membersQuery.GetMember(id);

            if (member == null)
            {
                return(NotFound("member", "id", id));
            }

            var credentials = _loginCredentialsQuery.GetCredentials(member.Id);

            if (credentials == null)
            {
                return(NotFound("member", "id", id));
            }

            try
            {
                // Validate.

                memberLogin.SendPasswordEmail = sendPasswordEmail.IsChecked;
                memberLogin.Validate();

                // Update.

                credentials.PasswordHash       = LoginCredentials.HashToString(memberLogin.Password);
                credentials.MustChangePassword = true;
                _loginCredentialsCommand.UpdateCredentials(member.Id, credentials, User.Id().Value);

                string message;
                if (memberLogin.SendPasswordEmail)
                {
                    var reminderEmail = new PasswordReminderEmail(member, credentials.LoginId, memberLogin.Password);
                    _emailsCommand.TrySend(reminderEmail);
                    message = "The password has been reset and an email has been sent.";
                }
                else
                {
                    message = "The password has been reset.";
                }

                return(RedirectToRouteWithConfirmation(MembersRoutes.Edit, new { id }, message));
            }
            catch (UserException ex)
            {
                ModelState.AddModelError(ex, new StandardErrorHandler());
            }

            memberLogin.LoginId = credentials.LoginId;
            return(View("Edit", new UserModel <IMember, MemberLoginModel>
            {
                User = _membersQuery.GetMember(id),
                UserLogin = memberLogin
            }));
        }
示例#19
0
 public ActionResult DoPayment()
 {
     if (Session["UyeGirdi"] != null)
     {
         MemberLoginModel uye = (MemberLoginModel)Session["UyeGirdi"];
         SepetManager.ClearBasket(uye.UyeId);
         return(View());
     }
     else
     {
         return(Redirect("/Uyelik/Login"));
     }
 }
示例#20
0
        public ActionResult Login(MemberLoginModel Uye)
        {
            Uye kontrol = manager.MemberLogin(Uye.Email, Uye.Parola);

            if (kontrol != null)
            {
                Uye.Ad              = kontrol.Ad;
                Uye.Soyad           = kontrol.Soyad;
                Uye.UyeId           = kontrol.UyeId;
                Session["UyeGirdi"] = Uye;
                return(View("SuccessfullyLogin"));
            }
            return(View("FailedLogin"));
        }
 public ActionResult MemberLogin(MemberLoginModel model)
 {
     if (Membership.ValidateUser(model.Username, model.Password))
     {
         FormsAuthentication.SetAuthCookie(model.Username, true);
         LogfileHelper.MemberLog(model.Username, "Log in at");
         return(RedirectToCurrentUmbracoPage());
     }
     else
     {
         LogfileHelper.MemberLog(model.Username, "Failed log in at");
         return(RedirectToCurrentUmbracoPage());
     }
 }
示例#22
0
        public IActionResult Login([FromBody] MemberLoginModel data)
        {
            var member = memberService.GetEntity(m => m.MobilePhone == data.MobilePhone && m.Password == data.Password);

            if (member == null)
            {
                return(Unauthorized());
            }
            var refreshData     = new RefreshStoreData();
            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(configuration.GetSection("JWTBearer").GetValue <string>("ClientSeret"));
            var authTime        = DateTime.UtcNow;
            var expiresAt       = authTime.AddDays(7);
            var refreshToken    = Guid.NewGuid().ToString().Replace("-", "");
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(JwtClaimTypes.Audience, "api"),
                    new Claim(JwtClaimTypes.Issuer, "http://localhost:56325"),
                    new Claim(JwtClaimTypes.Id, member.Id.ToString()),
                    new Claim(JwtClaimTypes.PhoneNumber, member.MobilePhone),
                    new Claim("refresh_token", refreshToken)
                }),
                Expires            = expiresAt,
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token       = tokenHandler.CreateToken(tokenDescriptor);
            var tokenString = tokenHandler.WriteToken(token);

            refreshData.AuthorizeAt = new DateTimeOffset(authTime).ToUnixTimeSeconds();
            refreshData.MemberId    = member.Id;
            refreshData.MobilePhone = member.MobilePhone;
            refreshData.ExpiresAt   = new DateTimeOffset(expiresAt).ToUnixTimeSeconds();
            refreshTokenTable.Add(refreshToken, refreshData);
            return(Ok(new
            {
                access_token = tokenString,
                token_type = "Bearer",
                profile = new
                {
                    sid = refreshData.MemberId,
                    refresh_token = refreshToken,
                    auth_time = refreshData.AuthorizeAt,
                    expires_at = refreshData.ExpiresAt
                }
            }));
        }
示例#23
0
        public ActionResult RemoveItem(int productId)
        {
            var sepet = (SepetSession)Session["cart"];

            if (Session["UyeGirdi"] != null)
            {
                MemberLoginModel uye = (MemberLoginModel)Session["UyeGirdi"];
                SepetManager.RemoveItem(uye.UyeId, productId);

                List <SepettekiUrunler> sepettekiler = SepetManager.GetItemsOnBasketByMemberId(uye.UyeId);
                sepet = SepetManager.Sepettekiler(sepettekiler);
            }
            else
            {
                sepet.RemoveItem(productId);
            }
            return(View("Index", sepet));
        }
示例#24
0
        public ActionResult Register(RegisterViewModel registerdata)
        {
            if (ModelState.IsValid)
            {
                //帳號是否已經存在
                if (memberservice.CheckAccountExisted(registerdata.Account))
                {
                    //密碼加密
                    registerdata.Password = memberservice.HashPassword(registerdata.Password);

                    //寫入會員資料表
                    int rowcount = memberservice.AddMember(registerdata);

                    if (rowcount != 1)
                    {
                        ViewBag.Error = "新增會員失敗";

                        return(View());
                    }

                    //查詢會員資料
                    MemberLoginModel logindata = memberservice.GetMemberLoginData(registerdata.Account, registerdata.Password);

                    //會員資料寫入Session
                    if (logindata != null)
                    {
                        //Session["Login"] = string.Format("{0}_{1}_{2}", logindata.Member_ID, logindata.NickName, logindata.Role);
                        //物件序列化成JSON
                        //Session[SessionManager.SessionKey.SessionKeyName.MemberLogin] = JsonConvert.SerializeObject(logindata);
                        //呼叫方法寫入Session
                        LoginSession relatedSession = new LoginSession();
                        relatedSession.WriteLoginSession(logindata);
                    }

                    if (Session[SessionManager.SessionKey.SessionKeyName.MemberLogin] != null)
                    {
                        //轉導頁面到留言板
                        return(RedirectToAction("GetMessage", "GuestBook"));
                    }
                }
            }
            ViewBag.Error = "已經有此帳號,請重新輸入帳號。";
            return(View());
        }
示例#25
0
        /// <summary>
        /// 會員登入資料
        /// </summary>
        /// <param name="account">登入帳號</param>
        /// <param name="password">登入密碼</param>
        /// <returns>會員編號、會員暱稱、會員角色</returns>
        public MemberLoginModel GetMemberLoginData(string account, string password)
        {
            MemberLoginModel logindata = new MemberLoginModel();

            using (var conn = new SqlConnection(connection))
            {
                try
                {
                    logindata = conn.Query <MemberLoginModel>(CommontSPName.QueryMember,
                                                              new { Account = account, Password = password },
                                                              commandType: CommandType.StoredProcedure).FirstOrDefault();
                }
                catch (Exception ex)
                {
                }
            }

            return(logindata);
        }
        public async Task <IActionResult> LoginMember(MemberLoginModel model)
        {
            if (ModelState.IsValid)
            {
                string ReturnUrl = ViewBag.url;
                var    result    = await _memberService.CheckForLoginAsync(model.Name, model.Surname, model.BirthYear, model.TRIDNo, model.Citizenship == "1");

                switch (result.Result)
                {
                case LoginResults.InvalidUser:
                    ModelState.AddModelError("", "Kullanıcı adı veya şifre yanlış.");
                    return(View(model));

                case LoginResults.isSuccess:
                    var user = await _memberService.GetAsync(a => a.TRIDNo == model.TRIDNo);

                    var claims = new List <Claim>
                    {
                        new Claim(ClaimTypes.Name, user.EMail),
                        new Claim("FullName", user.Name + " " + user.Surname),
                        new Claim("UserID", user.MemberID.ToString()),
                        new Claim(ClaimTypes.Role, "member")
                    };

                    //ClaimsIdentity
                    var cIdentity    = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
                    var authProperty = new AuthenticationProperties
                    {
                        AllowRefresh = true,
                        IsPersistent = model.SaveMe == "on"
                    };
                    await HttpContext.
                    SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(cIdentity), authProperty);

                    return(Redirect(ReturnUrl ?? "/"));

                case LoginResults.NotActiveAccount:
                    ModelState.AddModelError("", "Hesap aktif değil.");
                    return(View(model));
                }
            }
            return(View(model));
        }
        public ActionResult MemberLoginPost(MemberLoginModel model)
        {
            if (ModelState.IsValid)
            {
                var memberService = Services.MemberService;
                var member        = memberService.GetByEmail(model.Email);

                if (member != null && model.Password != null)
                {
                    if (!member.IsApproved)
                    {
                        TempData["Status"] = "Before you can login you need to validate your email address - check your email for instructions on how to do this, if you can't find this email use the forgotten password function to receive a new email.";
                        return(RedirectToCurrentUmbracoPage());
                    }

                    // helper method on Members to login
                    if (Members.Login(model.Email, model.Password))
                    {
                        if (HttpContext.Session["redirectURL"] != null)
                        {
                            return(Redirect(HttpContext.Session["redirectURL"].ToString()));
                        }
                        return(Redirect("/"));
                    }
                    else
                    {
                        TempData["Status"] = "Invalid username or password";
                        return(CurrentUmbracoPage());
                    }
                }
                else
                {
                    TempData["Status"] = "Invalid username or password";
                    return(CurrentUmbracoPage());
                }
            }
            else
            {
                // model is invalid
                TempData["Status"] = "Invalid username or password";
                return(CurrentUmbracoPage());
            }
        }
示例#28
0
        public async Task <IActionResult> Login(MemberLoginModel loginModel)
        {
            AppUser user = await _userManager.FindByNameAsync(loginModel.UserName);

            if (user == null || user.IsAdmin)
            {
                ModelState.AddModelError("", "UserName or Password is incorrect");
                return(View());
            }

            var result = await _signInManager.PasswordSignInAsync(user, loginModel.Password, loginModel.IsPersistent, true);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "UserName or Password is incorrect");
                return(View());
            }

            return(RedirectToAction("index", "home"));
        }
示例#29
0
        /// <summary>
        /// 更新回覆留言
        /// </summary>
        /// <param name="loginData">登入會員資料</param>
        /// <param name="UpdateContent">修改回覆留言內容</param>
        /// <returns>修改完成回覆留言的內容</returns>
        public string UpdateReplyMessage(MemberLoginModel loginData, string UpdateContent, string replyID, bool deleteFlag)
        {
            string UpdatedContent = string.Empty;

            int  replyGuestbookID = 0;
            bool transReplyID     = int.TryParse(replyID, out replyGuestbookID);

            if (transReplyID && replyGuestbookID != 0)
            {
                UpdatedContent = guestbookRepository.UpdateReplyMessageContent(loginData.Member_ID, loginData.Role, UpdateContent, replyGuestbookID, deleteFlag);
            }

            if (!string.IsNullOrWhiteSpace(UpdatedContent))
            {
                UpdatedContent = UpdatedContent.Equals("1") ? "success" : UpdatedContent;

                return(UpdatedContent);
            }

            return(UpdatedContent);
        }
示例#30
0
        public AccessTokenViewModel Login(MemberLoginModel memberLogin)
        {
            var tokenString = loginUtil.Login(memberLogin.email, memberLogin.password);

            if (tokenString != string.Empty)
            {
                var expireDate = DateTime.Now.AddHours(1);
                db.accesstokens.Add(new accesstoken {
                    token = tokenString, expires = expireDate, created = DateTime.Now
                });
                db.SaveChanges();

                return(new AccessTokenViewModel {
                    accessToken = tokenString, expireDate = expireDate
                });
            }
            else
            {
                return(null);
            }
        }