/// <summary> /// Добавление данных. /// </summary> /// <param name="value">Данные авторизованного пользователя.</param> public void Add(LoggedUserInfo value) { if (!memoryCache.Contains(value.Id.ToString())) { memoryCache.Add(value.Id.ToString(), value, DateTime.Now.AddMinutes(40)); } }
public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); using (var unitOfWork = new Core.UnitOfWork.UnitOfWork()) { var userInfo = new LoggedUserInfo { Id = 0, UserName = "******" }; var user = unitOfWork.Repository <Data.Entity.Member>().GetBy(x => x.Mobile == context.UserName && x.Password == context.Password).FirstOrDefault(); if (user != null) { userInfo = new LoggedUserInfo { Id = user.Id, UserName = context.UserName } } ; if (userInfo.Id < 1) { context.SetError("invalid_grant", "AuthenticationError"); } else { var identity = new ClaimsIdentity(context.Options.AuthenticationType); identity.AddClaim(new Claim("sub", context.UserName)); identity.AddClaim(new Claim("role", "user")); context.Validated(identity); } } return(base.GrantResourceOwnerCredentials(context)); } }
public IActionResult Login([FromRoute] string userName, [FromBody] string password) { var user = (from u in context.Users where u.UserName.Equals(userName) select u).FirstOrDefault(); if (user == null || !user.Password.Equals(password)) { return(BadRequest("Invalid username or password")); } string token = GenerateToken(userName, user.IsAdmin); LoggedUserInfo userInfo = new LoggedUserInfo() { UserId = user.UserId, UserName = user.UserName, FirstName = user.FirstName, LastName = user.LastName, IsAdmin = user.IsAdmin, Token = token }; return(Ok(userInfo)); }
public async Task <IActionResult> GetLoggedUser() { try { LoggedUserInfo loggedUserInfo = new LoggedUserInfo(); var school = await _schoolService.GetSchoolById(GetMySchoolId().ToString()); var user = await _userService.GetById(GetLoggedUserId().ToString()); loggedUserInfo.UserId = user.Id.ToString(); loggedUserInfo.UserName = user.Name; loggedUserInfo.Mobile = user.PhoneNumber; loggedUserInfo.SchoolId = school.Id.ToString(); loggedUserInfo.SchoolName = school.Name; return(Ok(loggedUserInfo)); } catch (ArgumentNullException argNullEx) { return(BadRequest(argNullEx.Message)); } catch (ArgumentException argEx) { return(BadRequest(argEx.Message)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public JsonResult CreateTransaction(int userId, TransactSave transaction) { LoggedUserInfo userInfo = _userCache.Get(userId); string error401 = transaction.RecipientID == 0 ? ConstStrings.ReplenishmentError401 : ConstStrings.TransferError401; if (userInfo != null) { Result <TransactPresentation> transactionData = _dataService.CreateTransaction(userInfo.Token, transaction); if (transactionData.Data != null) { userInfo.Balance += transaction.Amount; _userCache.Update(userInfo); return(Json(transactionData.Data, JsonRequestBehavior.AllowGet)); } else { if (transactionData.Error.IndexOf("401") != -1 || transactionData.Error.IndexOf("403") != -1) { _userCache.Delete(userId); return(Json(error401, JsonRequestBehavior.AllowGet)); } return(Json(transactionData.Error, JsonRequestBehavior.AllowGet)); } } return(Json(error401, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Авторизация пользователя. /// </summary> /// <param name="loginModel">Модель авторизации.</param> /// <returns>Модель результата с данными /// авторизованного пользователя и ошибкой</returns> public Result <LoggedUserInfo> Login(LoginModel loginModel) { string methodName = new StackTrace(false).GetFrame(0).GetMethod().Name; try { RestRequest request = new RestRequest("/Login", Method.POST); request.AddJsonBody(loginModel); IRestResponse response = StartRequest(methodName, request, loginModel); if (response.StatusCode == HttpStatusCode.InternalServerError) { throw new InvalidOperationException(ConstStrings.ServerSideError); } else if (response.StatusCode != HttpStatusCode.OK) { throw new InvalidOperationException(response.Content); } LoggedUserInfo result = JsonConvert.DeserializeObject <LoggedUserInfo>(response.Content); _logger.EndLogMethod(); return(new Result <LoggedUserInfo> { Data = result }); } catch (Exception ex) { _logger.Error(ex.Message); _logger.EndLogMethod(); return(new Result <LoggedUserInfo> { Error = ex.Message.Replace("\"", string.Empty) }); } }
public ActionResult <LoggedUserInfo> Login([FromBody] LoginModel loginModel) { StartInfo(ControllerContext.RouteData.Values["action"].ToString(), loginModel); try { if (loginModel.Email == string.Empty || loginModel.Password == string.Empty) { throw new InvalidOperationException(ConstStrings.LoginDataNullError); } if (!_databasePW.IsUserEmailExists(loginModel.Email)) { throw new InvalidOperationException(ConstStrings.UserEmailNotExistsError); } UserInfo userInfo = _databasePW.LoginUser(loginModel); if (userInfo == null) { throw new InvalidOperationException(ConstStrings.LoginDataInvalid); } Guid token = Guid.NewGuid(); if (!_tokenCache.Add(token, userInfo.Id)) { isServerError = true; throw new InvalidOperationException(ConstStrings.ServerSideError); } LoggedUserInfo loggedUserInfo = new LoggedUserInfo() { Id = userInfo.Id, Name = userInfo.Name, Email = userInfo.Email, Balance = userInfo.Balance, Token = token }; _logger.Info(string.Format("End. Return: {0}", JsonConvert.SerializeObject(loggedUserInfo))); _logger.EndLogMethod(); return(Ok(loggedUserInfo)); } catch (Exception ex) { _logger.Error(ex.Message); _logger.EndLogMethod(); if (isServerError) { return(StatusCode(500)); } else { return(BadRequest(ex.Message)); } } }
/// <summary> /// Добавление данных. /// </summary> /// <param name="value">Данные авторизованного пользователя.</param> /// <returns>Результат сохранения.</returns> public bool Add(LoggedUserInfo value) { if (!memoryCache.Contains(value.Id.ToString())) { return(memoryCache.Add(value.Id.ToString(), value, DateTime.Now.AddMinutes(40))); } return(true); }
public IReadOnlyCollection <UserActivity> GetUserActivities(LoggedUserInfo loggedUser) { ServerToken token = TokenRepository.Instance.GetToken(loggedUser.SessionId); if (token == null) { return(new List <UserActivity>().AsReadOnly()); } return(token.GetActivities()); }
public ActionResult Index(string returnUrl) { LoggedUserInfo upsd = LoggedUserInfo.GetLoggedUserInfo(); if (upsd != null) { return(Redirect("/Admin/Posts")); } ViewBag.ReturnUrl = returnUrl; return(View()); }
public ActionResult Edit(PostCategory postCategory) { if (ModelState.IsValid) { postCategory.UpdatedBy = LoggedUserInfo.GetLoggedUserInfo().ID; db.Entry(postCategory).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(postCategory)); }
/// <summary> /// Обновление данных. /// </summary> /// <param name="value">Данные авторизованного пользователя.</param> public void Update(LoggedUserInfo value) { if (memoryCache.Contains(value.Id.ToString())) { memoryCache.Set(value.Id.ToString(), value, DateTime.Now.AddMinutes(40)); } else { Add(value); } }
public ActionResult Create(PostCategory postCategory) { if (ModelState.IsValid) { postCategory.CreatedBy = LoggedUserInfo.GetLoggedUserInfo().ID; db.PostCategory.Add(postCategory); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(postCategory)); }
private void _LoginWindow_SubmitAction(MainPage main, LoginMainWindow _loginMain, LoginChildWindow loginChildWindow) { main.LoggedUserTextBlock.Content = LoggedUserInfo.WFM_UserName; main.LoggedUserTextBlock.Tag = LoggedUserInfo.Code; main.LoggedUserTextBlock.TargetName = LoggedUserInfo.Iserial.ToString(CultureInfo.InvariantCulture); if (!LoggedUserInfo.WFM_IsMenuInitiated) { LoggedUserInfo.InitiatePermissions(main, main.PanelButtons, _loginMain, loginChildWindow); } DefaultUserSettings.DATAAREAID = new Dictionary <string, string> { { "CCM", "CCM" }, { "CCR", "CCR" } }; }
/// <summary> /// Получение информации пользователя /// для блока пользователя. /// </summary> /// <param name="userId">Идентификатор пользователя.</param> /// <returns>Идентификатор пользователя.</returns> public int GetModelInfo(int userId) { if (userId != 0) { LoggedUserInfo info = _userCache.Get(userId); if (info != null) { ViewBag.Name = info.Name; ViewBag.Balance = info.Balance; return(userId); } } ViewBag.Name = string.Empty; ViewBag.Balance = 0; return(0); }
public ActionResult HistoryForm(UserIdModel model) { if (model.UserId != 0) { LoggedUserInfo info = _userCache.Get(model.UserId); if (info != null) { ViewBag.Name = info.Name; ViewBag.Balance = info.Balance; } else { ViewBag.Name = string.Empty; ViewBag.Balance = 0; model.UserId = 0; } } return(View("Form/HistoryForm", model)); }
public virtual ActionResult Index(LoginViewModel model, string returnUrl) { ViewBag.ReturnUrl = returnUrl; if (!ModelState.IsValid) { TempData["message"] = ""; TempData["alertType"] = "danger"; return(View(model)); } bool result = new AccountLoginModel().CheckLogin(model.Username, model.Password, model.RememberMe); if (result) { Users user = new AccountLoginModel().GetUserByLogin(model.Username, model.Password, model.RememberMe); LoggedUserInfo loggedUser = new LoggedUserInfo(); loggedUser.Username = user.Username; loggedUser.ID = user.ID; loggedUser.UserRoleEnum = user.UserRoleEnum.Value; loggedUser.PasswordHash = Crypto.SHA256(model.Password); LoggedUserInfo.AddLoggedUserInfo(loggedUser); if (Url.IsLocalUrl(returnUrl)) { return(Redirect(returnUrl)); } return(Redirect("/Admin/Posts")); } else { TempData["message"] = "Invalid login attempt"; TempData["alertType"] = "danger"; ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
public ActionResult Index(ResetPasswordViewModel model) { if (ModelState.IsValid) { PostDbContext db = new PostDbContext(); string username = LoggedUserInfo.GetLoggedUserInfo().Username; string pp = LoggedUserInfo.GetLoggedUserInfo().PasswordHash; string passwoord_hash = Crypto.SHA256(model.PresentPassword); int res = db.Users.Where(x => x.Username == username && x.Password == passwoord_hash).Count(); if (res == 1) { //update password try { Users u = db.Users.Where(x => x.Username == username && x.Password == passwoord_hash).SingleOrDefault(); u.Password = Crypto.SHA256(model.ConfirmPassword); db.SaveChanges(); TempData["message"] = "Successfully Changed Password. Login Again with new Password"; TempData["alertType"] = "success"; Session.Abandon(); } catch (Exception) { TempData["message"] = "Failed To Change Password"; TempData["alertType"] = "danger"; } } else { TempData["message"] = "Incorrect Old password"; TempData["alertType"] = "info"; } } return(View(model)); }
public JsonResult GetHistory(UserIdModel model) { LoggedUserInfo userInfo = _userCache.Get(model.UserId); if (userInfo != null) { Result <List <TransactPresentation> > transactionsList = _dataService.GetUserTransactions(userInfo.Token); if (transactionsList.Data != null) { return(Json(transactionsList.Data, JsonRequestBehavior.AllowGet)); } else { if (transactionsList.Error.IndexOf("401") != -1 || transactionsList.Error.IndexOf("403") != -1) { _userCache.Delete(model.UserId); return(Json(ConstStrings.HistoryError401, JsonRequestBehavior.AllowGet)); } return(Json(transactionsList.Error, JsonRequestBehavior.AllowGet)); } } return(Json(ConstStrings.HistoryError401, JsonRequestBehavior.AllowGet)); }
public JsonResult GetUsers(FindModel model) { LoggedUserInfo userInfo = _userCache.Get(model.UserId); if (userInfo != null) { Result <List <UserNameInfo> > users = _dataService.GetUsers(userInfo.Token, model.Filter); if (users.Data != null) { return(Json(users.Data, JsonRequestBehavior.AllowGet)); } else { if (users.Error.IndexOf("401") != -1 || users.Error.IndexOf("403") != -1) { _userCache.Delete(model.UserId); } return(Json(users.Error, JsonRequestBehavior.AllowGet)); } } return(Json(ConstStrings.UsersError401, JsonRequestBehavior.AllowGet)); }
public IReadOnlyCollection <UserActivity> GetUserActivities(LoggedUserInfo loggedUser) { ServerToken token = TokenRepository.Instance.GetToken(loggedUser.SessionId); return(token.GetActivities()); }
private void GettingUser() { LoggedUserInfo.WfmUserName = Page.User.Identity.Name; LoggedUserInfo.InitiatePermissions(); }
public ActionResult Logout() { LoggedUserInfo.UserLogOut(); return(Redirect("/home")); }
/// <summary> /// Добавление/обновление данных. /// </summary> /// <param name="value">Данные авторизованного пользователя.</param> public void AddOrUpdate(LoggedUserInfo value) { memoryCache.Set(value.Id.ToString(), value, DateTime.Now.AddMinutes(40)); }