Example #1
0
        public async Task <int> AddUser(User_Auth user_Auth)
        {
            var checkUsername = unitOfWork.GetRepository <User>().AsQueryable().FirstOrDefault(x => x.UserName == user_Auth.Username);

            if (checkUsername != null)
            {
                return(0);
            }

            int roleid = 0;

            if (regexRoleMember.Match(user_Auth.Username).Success)
            {
                roleid = 1;
            }
            else if (regexRoleAdmin.Match(user_Auth.Username).Success)
            {
                roleid = 2;
            }

            if (roleid <= 0 || roleid > 2)
            {
                return(0);
            }

            var user = unitOfWork.GetRepository <User>().Add(new User {
                RoleId   = roleid,
                UserName = user_Auth.Username.Trim().Split(" ")[0],
                Password = Helper.CreateMD5Hash(user_Auth.Password)
            });

            return((await unitOfWork.SaveChangesAsync()) != 0 ? user.Id : 0);
        }
Example #2
0
        public async Task <IActionResult> AddUser(User_Auth user_Auth)
        {
            var result = await userServices.AddUser(user_Auth);

            return(result == 0 ? StatusCode(StatusCodes.Status422UnprocessableEntity, new { error = StatusCodes.Status422UnprocessableEntity.ToString() })
                : StatusCode(StatusCodes.Status201Created, new { id = result }));
        }
Example #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            User_Auth user_Auth = db.User_Auth.Find(id);

            db.User_Auth.Remove(user_Auth);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #4
0
 public ActionResult Edit([Bind(Include = "UserID,PasswordHash,Salt,Name,Position,AccessLevel,UserGUID")] User_Auth user_Auth)
 {
     if (ModelState.IsValid)
     {
         db.Entry(user_Auth).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(user_Auth));
 }
Example #5
0
        public ActionResult Create([Bind(Include = "UserID,PasswordHash,Salt,Name,Position,AccessLevel,UserGUID")] User_Auth user_Auth)
        {
            if (ModelState.IsValid)
            {
                db.User_Auth.Add(user_Auth);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(user_Auth));
        }
Example #6
0
        // GET: User_Auth/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            User_Auth user_Auth = db.User_Auth.Find(id);

            if (user_Auth == null)
            {
                return(HttpNotFound());
            }
            return(View(user_Auth));
        }
Example #7
0
        public (int id, string token, DateTime?exp) Login(User_Auth user_Auth)
        {
            var user = unitOfWork.GetRepository <User>().AsQueryable().FirstOrDefault(x => x.UserName == user_Auth.Username && x.Password == Helper.CreateMD5Hash(user_Auth.Password));

            if (user == null)
            {
                return(0, null, null);
            }
            else if (user.ExpirationDate == null && string.IsNullOrEmpty(user.Token))
            {
                return(user.Id, null, null);
            }
            else if (user.ExpirationDate != null && !string.IsNullOrEmpty(user.Token) && user.ExpirationDate.GetValueOrDefault() > DateTime.UtcNow)
            {
                return(user.Id, user.Token, user.ExpirationDate);
            }
            return(user.Id, null, null);
        }
Example #8
0
    public static IEnumerator User_Auth(string email, string password, User_Auth_Delegate callback)
    {
        User_Auth p = new User_Auth();

        HTTPRequest httpRequest = new HTTPRequest(new Uri(url + "/user/auth/"), HTTPMethods.Post, (request, response) =>
        {
            Debug.Log("User Authorization: " + response.DataAsText);
            p = JsonConvert.DeserializeObject <User_Auth>(response.DataAsText);
        });

        httpRequest.AddField("email", email);
        httpRequest.AddField("password", password);
        httpRequest.DisableCache = true;
        httpRequest.Send();
        yield return(httpRequest);

        UserAuth = p;
        callback(p);
    }
Example #9
0
        public async Task <IActionResult> Login(User_Auth user_Auth)
        {
            var user = userServices.Login(user_Auth);

            if (user.id == 0)
            {
                return(Unauthorized());
            }
            if (user.token == null && user.exp == null)
            {
                (string token, DateTime exp) = Helper.GenerateToken(user.id, configuration);

                var rs = await userServices.AddTokenForUser(user.id, token, exp);

                if (rs == false)
                {
                    return(Unauthorized());
                }
                return(Ok(new { token = token }));
            }
            return(Ok(new { token = user.token }));
        }