public async Task <IActionResult> Login([FromBody] LoginInputModel loginInputModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _signInManager.PasswordSignInAsync( loginInputModel.Username, loginInputModel.Password, false, false ); if (!result.Succeeded) { return(this.BadRequest()); } var user = await _userManager.Users.FirstOrDefaultAsync(u => u.UserName == loginInputModel.Username); var token = _authenticationTokenGenerator.Generate(user); var outputModel = new LoginOutputModel() { Token = token.Value, ExpiresIn = token.ExpiresIn, TokenType = token.TokenType }; return(Ok(outputModel)); }
public JsonResultModel Login(string userName, string password) { try { var user = cnn.Customers.Where(x => x.IsActive && (x.Phone == userName || x.Email == userName)).FirstOrDefault(); if (user == null) { return(rp.response(0, 0, "Tài khoản hoặc mật khẩu không lợp lệ", null)); } if (!Util.CheckPass(password, user.Password)) { return(rp.response(0, 0, "Tài khoản hoặc mật khẩu không lợp lệ", null)); } if (user.Status.Value.Equals(SystemParam.NO_ACTIVE)) { return(rp.response(0, 0, "Tài khoản của bạn tạm thời bị khóa", null)); } else { LoginOutputModel data = new LoginOutputModel(); string token = Util.CreateMD5(DateTime.Now.ToString()); data.Id = user.ID; data.Token = token; data.Name = user.Name; user.Token = token; cnn.SaveChanges(); HttpContext.Current.Session["Client"] = data; return(rp.response(1, 1, "Thành công", null)); } } catch { return(rp.serverError()); } }
public async Task <IActionResult> SwitchTenantAsync([FromRoute] long tenantId, [FromServices] ITenantRepository tenantRepository, [FromQuery] int?expiresIn) { var tenant = tenantRepository.Get(tenantId); if (tenant == null) { return(JsonNotFound($"Tenant ID {tenantId} is not found.")); } Result <List <Claim>, string> authResult = await loginLogic.AuthorizeAsync(UserName, null, tenantId); // 結果からトークンを作成 var token = loginLogic.GenerateToken(authResult.Value, expiresIn); var result = new LoginOutputModel() { Token = token.AccessToken, UserName = UserName, TenantId = tenantId, TenantName = tenant.DisplayName, ExpiresIn = token.ExpiresIn }; return(JsonOK(result)); }
public async Task <LoginOutputModel> Login(LoginInputModel input) { var user = await _userRepository.GetAll().FirstOrDefaultAsync( p => p.UserName == input.UserNameOrEmail || p.Email == input.UserNameOrEmail); if (user == null) { throw new KeyNotFoundException(); } var hashSaltandIteration = 1000 + ":" + user.PasswordSalt + ":" + user.PasswordHash; var isValidate = PasswordHelper.ValidatePassword(input.Password, hashSaltandIteration); if (isValidate) { var model = new LoginOutputModel { Token = BuildToken(user), Id = user.Id, IsAdmin = user.IsAdmin }; //BackgroundJob.Enqueue(() => SendMailHelper.SendMail("kullanıcı giriş yaptı")); return(model); } return(new LoginOutputModel()); }
public string ChangePassword(ChangePasswordModel changePasswordModel, LoginOutputModel loginOutputModel) { string msg = string.Empty;; if (loginOutputModel != null && !string.IsNullOrEmpty(loginOutputModel.Email)) { var userData = _db.MstUsers.Where(x => x.IsActive && x.Email.Equals(loginOutputModel.Email) && x.Password.Equals(changePasswordModel.OldPassword)).FirstOrDefault(); if (userData != null) { if (changePasswordModel.NewPassword == changePasswordModel.ConfirmPassword) { userData.Password = changePasswordModel.ConfirmPassword; userData.ModifiedBy = loginOutputModel.UserId; userData.ModifiedDate = DateTime.Now; _db.Entry(userData).State = EntityState.Modified; _db.SaveChanges(); msg = "changed"; } else { msg = "New password and confirm password are not same."; } } else { msg = "Invalid Old password."; } } else { msg = "You are not logged in."; } return(msg); }
public int CreateFeedBack(string Content) { try { LoginOutputModel cus = client; if (cus != null && !String.IsNullOrEmpty(Content)) { Feedback fd = new Feedback(); fd.CustomerID = cus.Id; fd.Content = Content; fd.Status = SystemParam.ACTIVE; fd.IsActive = SystemParam.ACTIVE; fd.CreatedDate = DateTime.Now; fd.Type = 1; gn.cnn.Feedbacks.Add(fd); gn.cnn.SaveChanges(); return(1); } return(-1); } catch (Exception e) { e.ToString(); return(0); } }
public JsonResultModel LoginWeb(string account, string password) { try { var user = cnn.Users.Where(u => u.IsActive.Equals(ACTIVE) && u.Phone.Equals(account) || u.Name.Equals(account)); if (user.Count() > 0) { User us = user.FirstOrDefault(); if (Util.CheckPass(password, us.Password)) { string token = Util.CreateMD5(DateTime.Now.ToString()); LoginOutputModel data = new LoginOutputModel(); data.Account = us.Name; data.Name = us.Name; data.Role = us.Role; data.Id = us.ID; data.Token = token; us.Token = token; cnn.SaveChanges(); HttpContext.Current.Session[SystemParam.ADMIN] = data; return(rp.response(SUCCESS, SUCCESS_CODE, SUCCESS_MESSAGE, "")); } else { return(rp.response(FAIL_LOGIN, FAIL, ERROR_MESSAGE_LOGIN_FAIL, "")); } } return(rp.response(FAIL_LOGIN, FAIL, ERROR_MESSAGE_LOGIN_FAIL, "")); } catch (Exception e) { e.ToString(); return(rp.serverError()); } }
public IActionResult Login(LoginInputModel data) { LoginInputModel login = new LoginInputModel(); LoginOutputModel OutPutData = new LoginOutputModel(); try { login.UserName = data.UserName; login.Password = data.Password; JsonConvert.SerializeObject(login); using (var client = new HttpClient()) { client.BaseAddress = new Uri(BaseAPI + "Profile/"); //HTTP POST var postTask = client.PostAsJsonAsync <LoginInputModel>("Login", login); postTask.Wait(); var result = postTask.Result; if (result.IsSuccessStatusCode) { var content = result.Content.ReadAsStringAsync(); LoginResponseModel logincontent = Newtonsoft.Json.JsonConvert.DeserializeObject <LoginResponseModel>(content.Result); if (logincontent.data != null && logincontent.data.UserID.ToString() != "" && logincontent.data.IsActive != false) { //if (logincontent.data.RoleName.ToString() == HttpContext.Session.GetString(Loginfrom) || HttpContext.Session.GetString(Loginfrom).Contains(logincontent.data.RoleName.ToString())) //{ //} //else //{ // ModelState.AddModelError(string.Empty, "Terjadi kesalahan server. Hubungi admin."); //} HttpContext.Session.SetString(SessionKeyID, logincontent.data.UserID.ToString()); HttpContext.Session.SetString(SessionKeyName, logincontent.data.UserName.ToString()); HttpContext.Session.SetString(SessionKeyFName, logincontent.data.FirstName.ToString()); HttpContext.Session.SetString(SessionKeyLName, logincontent.data.LastName.ToString()); HttpContext.Session.SetString(SessionKeyRole, logincontent.data.RoleName.ToString()); HttpContext.Session.SetString(SessionKeyDomain, Domain); OutPutData = logincontent.data; } else { ModelState.AddModelError(string.Empty, "Terjadi kesalahan server. Hubungi admin."); } } else { ModelState.AddModelError(string.Empty, "Terjadi kesalahan server. Hubungi admin."); } } } catch (Exception e) { ModelState.AddModelError(string.Empty, "Terjadi kesalahan server. Hubungi admin."); } return(Json(OutPutData)); }
public int ChangePassword(string CurrentPassword, string NewPassword) { try { LoginOutputModel cus = client; if (cus != null) { return(customerBusiness.ChangePassword(cus.Id, CurrentPassword, NewPassword)); } return(SystemParam.ERROR); } catch { return(SystemParam.ERROR); } }
public JsonResultModel ChangePassUser(string OldPass, string NewPass) { try { LoginOutputModel session = (LoginOutputModel)HttpContext.Current.Session[SystemParam.ADMIN]; User u = cnn.Users.Find(session.Id); if (Util.CheckPass(OldPass, u.Password)) { u.Password = Util.GenPass(NewPass); cnn.SaveChanges(); return(rp.response(SystemParam.SUCCESS, SystemParam.SUCCESS_CODE, SystemParam.SUCCESS_MESSAGE, "")); } return(rp.response(SystemParam.ERROR, SystemParam.FAIL, SystemParam.ERROR_MESSAGE_CHECK_PASS_FAIL, "")); } catch { return(rp.serverError()); } }
public JsonResultModel Register(RegisterCustomerInputModel input) { try { if (cnn.Customers.Any(x => (x.Phone == input.phone || x.Email == input.email) && x.IsActive)) { return(rp.response(0, 0, "Email hoặc số điện thoại đã tồn tại", null)); } else { Customer cus = new Customer(); cus.Address = input.address; cus.CreatedDate = DateTime.Now; cus.Email = input.email; cus.DistrictID = input.district_id; cus.ProvinceID = input.province_id; cus.Phone = input.phone; cus.Password = Util.GenPass(input.password); cus.VillageID = input.village_id; cus.Name = input.name; cus.Token = Util.CreateMD5(DateTime.Now.ToString()); cus.IsActive = true; cus.Status = SystemParam.ACTIVE; cnn.Customers.Add(cus); cnn.SaveChanges(); LoginOutputModel data = new LoginOutputModel(); data.Id = cus.ID; data.Name = cus.Name; data.Token = cus.Token; HttpContext.Current.Session["Client"] = data; return(rp.response(1, 1, "Đăng ký thành công", data)); } } catch (Exception ex) { return(rp.serverError()); } }
public async Task <IActionResult> LoginAsync([FromBody] LoginInputModel model, [FromServices] ITenantRepository tenantRepository) { //入力値チェック if (!ModelState.IsValid) { return(JsonBadRequest("Invalid inputs.")); } // ユーザ名の前後の空白は除去 model.UserName = model.UserName.Trim(); //ユーザ情報からクレームを取得 Result <List <Claim>, string> signInResult = await loginLogic.SignInAsync(model.UserName, model.Password, model.TenantId); if (!signInResult.IsSuccess) { //失敗 return(JsonBadRequest(signInResult.Error)); } // 結果からトークンを作成 var token = loginLogic.GenerateToken(signInResult.Value, model.ExpiresIn); //Tenant name must not be null. Hence "Single" is intended use here. // string tenantName = signInResult.Value.Single(c => c.Type == ApplicationConst.ClaimTypeTenantName).Value; long tenantId = long.Parse(signInResult.Value.FirstOrDefault(c => c.Type == ClaimTypes.GroupSid).Value); //テナント取得(ここまでに存在チェックは行われているハズ) var tenant = tenantRepository.Get(tenantId); var result = new LoginOutputModel() { Token = token.AccessToken, UserName = model.UserName, TenantId = tenantId, TenantName = tenant.DisplayName, ExpiresIn = token.ExpiresIn }; return(JsonOK(result)); }
public ApiResponseModel Login(LoginViewModel loginViewModel) { ApiResponseModel apiResponseModel = new ApiResponseModel(); if (!string.IsNullOrEmpty(loginViewModel.Email) && !string.IsNullOrEmpty(loginViewModel.Email)) { var _user = _db.MstUsers.Where(x => x.Email.Equals(loginViewModel.Email)).FirstOrDefault(); if (_user != null) { if (_user.Password.Equals(loginViewModel.Password)) { if (!_user.IsBlocked) { var _data = new LoginOutputModel { IsAdmin = _user.IsAdmin, IsBlocked = _user.IsBlocked, FirstName = _user.FirstName, LastName = _user.FirstName, Email = _user.Email, Mobile = _user.Mobile, IsEmailVarified = _user.IsEmailVarified, IsMobileVarified = _user.IsMobileVerified, UserId = _user.UserId }; var _userDetails = _db.MstUserDetails.Where(x => x.UserId == _user.UserId && x.IsActive).FirstOrDefault(); if (_userDetails != null) { _data.Photo = _userDetails.Photo; } apiResponseModel.Data = _data; apiResponseModel.Message = "true"; } else { apiResponseModel.Message = "Your account is blocked"; } } else { apiResponseModel.Message = "Username/Password is invalid"; } } else { apiResponseModel.Message = "Username/Password is invalid"; } } return(apiResponseModel); }
public void OnAuthentication(AuthenticationContext filterContext) { try { var routeValues = new RouteValueDictionary(); LoginOutputModel session = (LoginOutputModel)filterContext.HttpContext.Session[SystemParam.ADMIN]; if (session == null || session.Id == 0) { //Chuyen ve trang dang nhap routeValues["controller"] = "FrontEnd/HomeFrontEnd"; routeValues["action"] = "Index"; filterContext.Result = new RedirectToRouteResult(routeValues); } } catch { var routeValues = new RouteValueDictionary(); routeValues["controller"] = "FrontEnd/HomeFrontEnd"; routeValues["action"] = "Index"; filterContext.Result = new RedirectToRouteResult(routeValues); } }
public JsonResult GetUserLogin() { try { if (Session[SystemParam.ADMIN] != null) { LoginOutputModel userLogin = (LoginOutputModel)Session[SystemParam.ADMIN]; int?userID = loginBusiness.checkTokenUser(userLogin.Token); if (String.IsNullOrEmpty(userLogin.Token) || userID == 0) { Session[SystemParam.ADMIN] = null; userLogin.Role = -1; } return(Json(userLogin, JsonRequestBehavior.AllowGet)); } return(Json(new UserDetailOutputModel(), JsonRequestBehavior.AllowGet)); } catch { return(Json(new UserDetailOutputModel(), JsonRequestBehavior.AllowGet)); } }
public async Task <IActionResult> Login(LoginModel credentials) { var result = await _signInManager.PasswordSignInAsync(credentials.Username, credentials.Password, false, false); if (result.Succeeded) { var user = await _userManager.FindByNameAsync(credentials.Username); string token = _tokenBuilder.Create() .WithClaim(new Claim("id", user.Id)) .WithClaim(new Claim("username", user.UserName)) .Build(); var output = new LoginOutputModel() { Id = user.Id, Username = user.UserName, Token = token }; return(Ok(output)); } return(Unauthorized()); }