/// <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)); }
/// <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); }
/// <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); }
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)); }
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()); }
/// <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); }
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)); }
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)); }
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)); }
/// <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); } }
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); }
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 })); }
public ActionResult DoPayment() { if (Session["UyeGirdi"] != null) { MemberLoginModel uye = (MemberLoginModel)Session["UyeGirdi"]; SepetManager.ClearBasket(uye.UyeId); return(View()); } else { return(Redirect("/Uyelik/Login")); } }
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()); } }
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 } })); }
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)); }
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()); }
/// <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()); } }
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")); }
/// <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); }
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); } }