public IActionResult Register([FromBody] RegisterModel model) { if (ModelState.IsValid) { Service.User user = new Service.User { UserName = model.Email, Email = model.Email }; IdentityResult result = userManager.Create(user, model.Password); if (result.Succeeded) { loginManager.Login(user, isPersistent: false); logger.LogInformation(3, "User created a new account with password."); DateTime requestAt = DateTime.Now; DateTime expiresIn = requestAt + TokenAuthOption.ExpiresSpan; string token = GenerateToken(user, expiresIn); return(Ok(new { RequestAt = requestAt, ExpiresIn = TokenAuthOption.ExpiresSpan.TotalSeconds, TokeyType = TokenAuthOption.TokenType, AccessToken = token })); } AddErrors(result); } return(BadRequest(ModelState)); }
private void LoadUser(Service.User user) { try { DateTime dtnow = DateTime.Now; bool isOver = (dtnow - user.DueTime.Value).TotalSeconds >= 0; if (user.SiteName == "汽车之家") { lblCode.Text = user.Id.ToString(); lblEnd.Text = user.DueTime.HasValue ? user.DueTime.ToString() : ""; lblUserName.Text = user.UserName; lblUserType.Text = user.UserType == 0 ? "试用" : "付费"; if (user.UserType == 1) { AddLoginJob(); } } else if (user.SiteName == "易车网") { label21.Text = user.Id.ToString(); label18.Text = user.DueTime.HasValue ? user.DueTime.ToString() : ""; label19.Text = user.UserName; label22.Text = user.UserType == 0 ? "试用" : "付费"; } CheckSendOrder(user, isOver); CheckSendPrice(user, isOver); CheckSendNews(user, isOver); } catch (Exception ex) { LogHelper.Error(ex.Message + ex.StackTrace); } }
public IActionResult Login([FromBody] LoginModel model) { if (ModelState.IsValid) { Microsoft.AspNetCore.Identity.SignInResult result = loginManager.Login(model.Email, model.Password, model.RememberMe); if (result.Succeeded) { logger.LogInformation(1, "User logged in."); Service.User user = userManager.GetUserByEmail(model.Email); DateTime requestAt = DateTime.Now; DateTime expiresIn = requestAt + TokenAuthOption.ExpiresSpan; string token = GenerateToken(user, expiresIn); return(Ok(new { RequestAt = requestAt, ExpiresIn = TokenAuthOption.ExpiresSpan.TotalSeconds, TokeyType = TokenAuthOption.TokenType, AccessToken = token })); } else { return(BadRequest("Invalid login attempt.")); } } return(BadRequest(ModelState)); }
private void BtnOK_Click(object sender, RoutedEventArgs e) { if (labelDB.Content.ToString() == "Добавить пользователя") { Service.User user = new Service.User() { Name = tbName.Text, Surname = tbSurname.Text, Patronymic = tbPatronymic.Text, Login = tbLogin.Text, Password = tbPassword.Text, Role = cbRole.Text }; service.AddUser(user); } else if (labelDB.Content.ToString() == "Редактировать пользователя") { Service.User user = new Service.User() { Name = tbName.Text, Surname = tbSurname.Text, Patronymic = tbPatronymic.Text, Login = tbLogin.Text, Password = tbPassword.Text, Role = cbRole.Text, ID_User = id_user }; service.UpdateUser(user); } dataGrid.ItemsSource = service.SelectUser(); btnCancel.RaiseEvent(new RoutedEventArgs(ButtonBase.ClickEvent)); }
private async void button1_Click(object sender, EventArgs e) { Popups.PopupWaiting waiter = new Popups.PopupWaiting(this); Pop(this, waiter); Service.User u = await Service.SGSAPI3.TryLogin(textBox2.Text, textBox1.Text); waiter.Close(); }
private void BtnDel_Click(object sender, RoutedEventArgs e) { foreach (object SelectedItem in dataGrid.SelectedItems) { Service.User user = SelectedItem as Service.User; service.DeleteUser(user.ID_User); } dataGrid.ItemsSource = service.SelectUser(); }
// new Implementation public bool HasPasswordHash(Service.User user) { var currentUser = _db.Query <User>().Where(u => u.Email == user.Email).FirstOrDefault(); if (currentUser == null) { return(false); } return(user.Password.Equals(currentUser.Password)); }
//new implementation public void CreateUser(Service.User user) { _db.Add(new User(user)); _db.SaveChanges(); var savedUser = FindByName(user.Email); user.UserId = savedUser.UserId; return; }
public IActionResult Put(int id, [FromBody] Service.User user) { IdentityResult ret = userManager.Update(user); if (ret.Succeeded) { return(Ok()); } return(BadRequest(ret.Errors)); }
//new implementation public void RemoveFromRole(Service.User user, string roleName) { // get the role with the roleName passed var role = _db.Query <Role>().Where(r => r.RoleName == roleName).FirstOrDefault(); // get the UserRole with the user and role values var userRole = _db.Query <UserRole>().Where(ur => ur.UserId == user.UserId && ur.RoleId == role.RoleId).SingleOrDefault(); _db.Delete(userRole); _db.SaveChanges(); }
private string GenerateToken(Service.User user, DateTime expires) { JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler(); ClaimsIdentity identity = new ClaimsIdentity(new GenericIdentity(user.UserName, "TokenAuth"), new[] { new Claim("Id", user.Id.ToString()) }); SecurityToken securityToken = handler.CreateToken(new SecurityTokenDescriptor { Issuer = TokenAuthOption.Issuer, Audience = TokenAuthOption.Audience, SigningCredentials = TokenAuthOption.SigningCredentials, Subject = identity, Expires = expires }); return(handler.WriteToken(securityToken)); }
/// <summary> /// 报价判断 /// </summary> /// <param name="user"></param> /// <param name="isOver"></param> private void CheckSendPrice(Service.User user, bool isOver) { bool canQuery = true; string message = user.QueryNum.ToString(); if (user.UserType == 0 || !user.Query) { if (user.QueryNum <= 0) { canQuery = false; message = "非常抱歉,今天报价次数已使用完"; } } else if (user.Query && isOver) { canQuery = false; message = "非常抱歉,付费使用时间已到!"; } if (canQuery) { if (Tool.site == Aide.Site.Qiche && user.SiteName == "汽车之家") { lbl_QC_QueryNum.Text = user.Query ? "按到期时间计算" : user.QueryNum.ToString(); } else if (Tool.site == Aide.Site.Yiche && user.SiteName == "易车网") { label16.Text = user.Query ? "按到期时间计算" : user.QueryNum.ToString(); } LoadJob_Query(); } else { if (Tool.site == Aide.Site.Qiche && user.SiteName == "汽车之家") { lbl_QC_QueryNum.Text = message; jct_QC_Query.Enabled = false; Tool.aideTimer.Dequeue(QC_Price_JobName); } else if (Tool.site == Aide.Site.Yiche && user.SiteName == "易车网") { label16.Text = message; jct_YC_Query.Enabled = false; Tool.aideTimer.Dequeue(YC_Price_JobName); } } }
public async Task <ActionResult> Register(Service.User model) { if (!ModelState.IsValid) { return(View(model)); } var result = _userManager.Create(model, model.Password); if (result.Succeeded) { await _signInManager.SignInAsync(model, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Index", "Home")); } return(View(model)); }
/// <summary> /// 抢单判断 /// </summary> /// <param name="user"></param> /// <param name="isOver"></param> private void CheckSendOrder(Service.User user, bool isOver) { bool canOrder = true; string message = user.DueTime.ToString(); if (user.UserType == 0 || !user.SendOrder) { if (isOver) { canOrder = false; message = "非常抱歉,今天抢单体验时间已到"; } } else if (user.SendOrder && isOver) { canOrder = false; message = "非常抱歉,付费使用时间已到!"; } if (canOrder) { LoadOrder(user.SiteName); } else { if (user.SiteName == "汽车之家") { lblQD_QC.Text = message; btnSendOrder.Enabled = btnStop.Enabled = false; if (th_qc != null) { th_qc.Abort(); } } else { lblQD_YC.Text = message; btnStart_YC.Enabled = btnStop_YC.Enabled = btnOrderYC.Enabled = false; if (th_yc != null) { th_yc.Abort(); } } } }
private void BtnUpdate_Click(object sender, RoutedEventArgs e) { try { labelDB.Content = "Редактировать пользователя"; gridDB.Visibility = Visibility.Visible; dataGrid.Visibility = Visibility.Hidden; Service.User user = dataGrid.SelectedItem as Service.User; tbName.Text = user.Name; tbSurname.Text = user.Surname; tbPatronymic.Text = user.Patronymic; tbLogin.Text = user.Login; tbPassword.Text = user.Password; cbRole.Text = user.Role; id_user = user.ID_User; } catch { } }
public Service.ElSalvadorHotels[] GetHotelsListByID(Service.User user) { return(base.Channel.GetHotelsListByID(user)); }
public System.Threading.Tasks.Task <Service.ElSalvadorHotels[]> GetHotelsListByIDAsync(Service.User user) { return(base.Channel.GetHotelsListByIDAsync(user)); }
public ActionResult Register() { var model = new Service.User(); return View(model); }
private ViewResult LoadPersonalInfo(string userName, string passWord) { ViewResult vresult = new ViewResult(); var htmlDoc = GetHtml(useradmin); try { StringBuilder sb = null; if (!htmlDoc.DocumentNode.OuterHtml.Contains("NonAuth")) { var rowcount = Convert.ToInt32(htmlDoc.DocumentNode.SelectSingleNode("//*[@id=\"ContentPlaceHolder1_UpdatePanel1\"]/div/div/div[3]/ul/li[2]/strong").InnerText.Trim()); var infoformat = "姓名:{0};职位:{1};手机:{2}" + Environment.NewLine; sb = new StringBuilder(rowcount * 25); var trs = htmlDoc.DocumentNode.SelectNodes("//*[@id=\"ContentPlaceHolder1_dgvUserList\"]/tr"); for (int i = 1; i < trs.Count; i++) { var tr = trs[i]; var name = tr.SelectSingleNode("//*[@id=\"ContentPlaceHolder1_dgvUserList_UserManageHead_" + (i - 1).ToString() + "\"]").InnerText; var rolename = tr.ChildNodes[2].InnerText.Trim(); var phone = tr.ChildNodes[4].InnerText.Trim().Split('\r')[0]; sb.AppendFormat(infoformat, name, rolename, phone); } string type = "ctl00%24ContentPlaceHolder1%24dgvUserList%24ctl{0}%24hideAccountType"; string level = "ctl00%24ContentPlaceHolder1%24dgvUserList%24ctl{0}%24hideAccountLevel"; string id = "ctl00%24ContentPlaceHolder1%24dgvUserList%24ctl{0}%24hideAccountId"; string admin = "ctl00%24ContentPlaceHolder1%24dgvUserList%24ctl{0}%24hideAccountAdmin"; string roleid = "ctl00%24ContentPlaceHolder1%24dgvUserList%24ctl{0}%24hideAccountRoleId"; #region 分页 while (rowcount > 10) { var postdata = HttpHelper.URLEncode("ctl00$ContentPlaceHolder1$ScriptManager1=ctl00$ContentPlaceHolder1$UpdatePanel1|ctl00$ContentPlaceHolder1$AspnetPager1$AspNetPager1"); postdata += "&HADRDCCID=" + HttpHelper.URLEncode(htmlDoc.DocumentNode.SelectSingleNode("//*[@id=\"HADRDCCID\"]").GetAttributeValue("value", "")); postdata += "&__EVENTTARGET=ctl00%24ContentPlaceHolder1%24AspnetPager1%24AspNetPager1"; postdata += "&__EVENTARGUMENT=2"; postdata += "&__VIEWSTATE=" + HttpHelper.URLEncode(htmlDoc.DocumentNode.SelectSingleNode("//*[@id=\"__VIEWSTATE\"]").GetAttributeValue("value", "")); postdata += "&__VIEWSTATEGENERATOR=" + htmlDoc.DocumentNode.SelectSingleNode("//*[@id=\"__VIEWSTATEGENERATOR\"]").GetAttributeValue("value", ""); postdata += "&__VIEWSTATEENCRYPTED="; postdata += "&__EVENTVALIDATION=" + HttpHelper.URLEncode(htmlDoc.DocumentNode.SelectSingleNode("//*[@id=\"__EVENTVALIDATION\"]").GetAttributeValue("value", "")); postdata += "&ctl00%24imgUploadChangehidethumburl=&ctl00%24imgUploadChangehideUrl=&ctl00%24ContentPlaceHolder1%24ddlRoleName=&ctl00%24ContentPlaceHolder1%24txtUserName=&ctl00%24ContentPlaceHolder1%24txtUserMobile="; for (int i = 1; i < trs.Count; i++) { var tr = trs[i]; var type_t = string.Format(type, (i + 1).ToString().PadLeft(2, '0')); var level_t = string.Format(level, (i + 1).ToString().PadLeft(2, '0')); var id_t = string.Format(id, (i + 1).ToString().PadLeft(2, '0')); var admin_t = string.Format(admin, (i + 1).ToString().PadLeft(2, '0')); var roleid_t = string.Format(roleid, (i + 1).ToString().PadLeft(2, '0')); postdata += string.Format("&{0}={1}", type_t, tr.SelectSingleNode("//*[@name=\"" + HttpHelper.URLDecode(type_t) + "\"]").GetAttributeValue("value", "")); postdata += string.Format("&{0}={1}", level_t, tr.SelectSingleNode("//*[@name=\"" + HttpHelper.URLDecode(level_t) + "\"]").GetAttributeValue("value", "")); postdata += string.Format("&{0}={1}", id_t, tr.SelectSingleNode("//*[@name=\"" + HttpHelper.URLDecode(id_t) + "\"]").GetAttributeValue("value", "")); postdata += string.Format("&{0}={1}", admin_t, tr.SelectSingleNode("//*[@name=\"" + HttpHelper.URLDecode(admin_t) + "\"]").GetAttributeValue("value", "")); postdata += string.Format("&{0}={1}", roleid_t, tr.SelectSingleNode("//*[@name=\"" + HttpHelper.URLDecode(roleid_t) + "\"]").GetAttributeValue("value", "")); } postdata += "&aspnet1CurrentPageIndex=1&__ASYNCPOST=true"; htmlDoc = Post(useradmin, postdata); trs = htmlDoc.DocumentNode.SelectNodes("//*[@id=\"ContentPlaceHolder1_dgvUserList\"]/tr"); for (int i = 1; i < trs.Count; i++) { var tr = trs[i]; var name = tr.SelectSingleNode("//*[@id=\"ContentPlaceHolder1_dgvUserList_UserManageHead_" + (i - 1).ToString() + "\"]").InnerText; var rolename = tr.ChildNodes[2].InnerText.Trim(); var phone = tr.ChildNodes[4].InnerText.Trim().Split('\r')[0]; sb.AppendFormat(infoformat, name, rolename, phone); } rowcount -= 10; } #endregion } Service.User user = new Service.User { Company = company, CompanyID = "", SiteName = "易车网", PassWord = passWord, UserName = userName, Status = 1, LinkInfo = sb == null ? "" : sb.ToString() }; var loginResult = Tool.service.UserLogin(user); if (loginResult.Result) { Tool.userInfo_yc = loginResult.Data; } else { vresult.Message = loginResult.Message; vresult.Exit = true; } vresult.Result = loginResult.Result; return(vresult); } catch (Exception ex) { vresult.Message = "登录失败,请重试!详询QQ:278815541。"; vresult.Exit = true; return(vresult); } }
//new implementation public void DeleteUser(Service.User user) { _db.Delete(new User(user)); _db.SaveChanges(); }
void Login() { if (!ValidateForm()) { tbUsername.Enabled = false; tbPassword.Enabled = false; cbUseAnimation.Enabled = false; btnLogin.Enabled = false; try { Service.DCService service = new DrawingClient.Service.DCService(); if (!((Service.DrawingClientStatus)service.GetDrawingClientInUse()).DrawingClientInUse) { Service.User user = service.ValidateUser(tbUsername.Text, tbPassword.Text); if (user != null) { //MR 12/22/09 Adding this code to deal with locked accounts. if (user.LoginStatus == "LCK") { MessageBox.Show(TextRes.Get("LockedAccount", Program.ci), TextRes.Get("Login", Program.ci), MessageBoxButtons.OK, MessageBoxIcon.Error); tbUsername.Enabled = true; tbPassword.Enabled = true; cbUseAnimation.Enabled = true; btnLogin.Enabled = true; } else { Common.Instance.UserID = user.UserID; Common.Instance.UserIDText = user.UserIDText; Common.Instance.UserLevel = user.UserLevel; Common.Instance.UseAnimation = cbUseAnimation.Checked; service.SetDrawingClientInUse("DrawingClientOpen", tbUsername.Text); this.Close(); } } else { MessageBox.Show(TextRes.Get("InvalidLogin", Program.ci), TextRes.Get("Login", Program.ci), MessageBoxButtons.OK, MessageBoxIcon.Error); tbUsername.Enabled = true; tbPassword.Enabled = true; cbUseAnimation.Enabled = true; btnLogin.Enabled = true; } } else { MessageBox.Show(TextRes.Get("DrawingClientInUse", Program.ci), TextRes.Get("Login", Program.ci), MessageBoxButtons.OK, MessageBoxIcon.Error); tbUsername.Enabled = true; tbPassword.Enabled = true; cbUseAnimation.Enabled = true; btnLogin.Enabled = true; } } catch (Exception ex) { Error.Log(ex, true); tbUsername.Enabled = true; tbPassword.Enabled = true; cbUseAnimation.Enabled = true; btnLogin.Enabled = true; } } else { error = true; } }
public string GetPasswordHash(Service.User user) { return(_db.Query <User>().Where(u => u.Email == user.Email).Select(u => u.Password).FirstOrDefault()); }
// new Implementation public void UpdateUser(Service.User user) { _db.Update(new User(user)); _db.SaveChanges(); }
public System.Threading.Tasks.Task <bool> AuthenticateAsync(Service.User user) { return(base.Channel.AuthenticateAsync(user)); }
public bool Authenticate(Service.User user) { return(base.Channel.Authenticate(user)); }
public string[] GetUserRoles(Service.User user) { // get the user by the email passed in, then get the roles // and select on the list of role names and convert them to array return(_db.Query <User>().Where(u => u.Email == user.Email).SelectMany(u => u.UserRoles.Select(ur => ur.Role.RoleName)).ToArray()); }
public ActionResult Register() { var model = new Service.User(); return(View(model)); }
// new Implementation public bool IsInRole(Service.User user, string roleName) { return(_db.Query <User>().Where(u => u.Email == user.Email).SelectMany(u => u.UserRoles.Select(ur => ur.Role.RoleName)).Contains(roleName)); }
//new implementation public void SetPasswordHash(Service.User user, string passwordHash) { user.Password = passwordHash; }
/// <summary> /// 资讯判断 /// </summary> /// <param name="user"></param> /// <param name="isOver"></param> private void CheckSendNews(Service.User user, bool isOver) { bool canNews = true; string message = user.NewsNum.ToString(); if (user.UserType == 0 || !user.News) { if (user.NewsNum <= 0) { canNews = false; message = "非常抱歉,今天发布资讯次数已使用完"; } } else if (user.News && isOver) { canNews = false; message = "非常抱歉,付费使用时间已到!"; } if (canNews) { if (user.SiteName == "汽车之家") { lbl_QC_NewsNum.Text = user.News ? "按到期时间计算" : user.NewsNum.ToString(); } else { label14.Text = user.Query ? "按到期时间计算" : user.NewsNum.ToString(); } LoadJob_News(); } else { if (Tool.site == Aide.Site.Qiche && user.SiteName == "汽车之家") { lbl_QC_NewsNum.Text = message; colSitting.ReadOnly = true; if (newListDTPBindingSource.DataSource != null) { var data = (List <NewListDTP>)newListDTPBindingSource.DataSource; data.ForEach(item => { item.Message = "付费时间已到"; item.Del = ""; Tool.aideTimer.Dequeue(item.NewsId); }); rowMergeView1.Refresh(); } } else if (Tool.site == Aide.Site.Yiche && user.SiteName == "易车网") { label14.Text = message; colYC_Sitting.ReadOnly = true; if (newListDTPBindingSource1.DataSource != null) { var data = (List <NewListDTP>)newListDTPBindingSource1.DataSource; data.ForEach(item => { item.Message = "付费时间已到"; item.Del = ""; Tool.aideTimer.Dequeue(item.NewsId); }); rowMergeView2.Refresh(); } } } }