public JsonResult UserExists(string userName) { try { using (var db = new CollectionerEntities(Tools.GetConnectionString(DbName))) { return(Json(new { exists = db.Users.Any(x => x.UserName == userName), }, JsonRequestBehavior.AllowGet)); } } catch (Exception e) { return(Json(new { isSuccess = false, message = "Error in registration procedure", details = e.Message, stackTrace = e.StackTrace }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Authenticate(string userName, string password) { try { using (var db = new CollectionerEntities(Tools.GetConnectionString(DbName))) { if (db.Users.Any(x => x.UserName == userName)) { var user = db.Users.First(x => x.UserName == userName); if (user.Password == Hash.GetHashCode(password)) { return(Json(new { isSuccess = true, // this token will be required for all actions token = Hash.GetHashCode(userName + Hash.GetHashCode(password)) }, JsonRequestBehavior.AllowGet)); } return(Json(new { isSuccess = false, message = "Wrong password" }, JsonRequestBehavior.AllowGet)); } return(Json(new { isSuccess = false, message = $"User {userName} not found" }, JsonRequestBehavior.AllowGet)); } } catch (Exception e) { return(Json(new { isSuccess = false, message = "Error in authentication procedure", details = e.Message, stackTrace = e.StackTrace }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Register(string userName, string password, string email) { try { using (var db = new CollectionerEntities(Tools.GetConnectionString(DbName))) { if (db.Users.Any(x => x.UserName == userName)) { return(Json(new { isSuccess = false, message = $"UserName {userName} is already taken" }, JsonRequestBehavior.AllowGet)); } // TODO validate correct email db.Users.Add(new User { UserName = userName, Email = email, Password = Hash.GetHashCode(password), Role = db.Roles.First(x => x.Name == "User"), RegDate = DateTime.Now, LastActivityDate = null }); db.SaveChanges(); return(Json(new { isSuccess = true }, JsonRequestBehavior.AllowGet)); } } catch (Exception e) { return(Json(new { isSuccess = false, message = "Error in registration procedure", details = e.Message, stackTrace = e.StackTrace }, JsonRequestBehavior.AllowGet)); } }