コード例 #1
0
 public API_Response <VM_User> Login(DTO_UserLogin model)
 {
     return(InvokeAPI(() =>
     {
         VM_User user = null;
         if (!Global.Cache.CheckEmailExists(model.UserName))
         {
             throw new Exception("User Not Found");
         }
         //
         var UserLoginDetails = _DL.User.Account.LoginDetails_ByEmail(model.UserName);
         // Check User Login Details
         if (ModelState.IsValid)
         {
             // Check Password
             if (HashHMACSHA1.CheckSaltedHash(model.UserPassword, UserLoginDetails.PasswordHash))
             {
                 user = _DL.User.Get.ByID(UserLoginDetails.UserID);    // Get User
                 user.ApiKey = API_KeyHelper.GenarateKey(user.UserID); // Generate Token
             }
             else
             {
                 throw new Exception("Incorrect password");
             }
         }
         else
         {
             throw new Exception("Login Error");
         }
         return user;
     }, "", false));
 }
コード例 #2
0
        public JsonResult Login(UserLoginDTO userLogin)
        {
            if (!Global.Cache.CheckEmailExists(userLogin.UserName))
            {
                return(GetJson(EN_ErrorCodes.IncorrectLogin));
            }
            //
            UserLoginDetails UserLoginDetails = _DL.User.Account.LoginDetails_ByEmail(userLogin.UserName);

            //
            if (HashHMACSHA1.CheckSaltedHash(userLogin.Password, UserLoginDetails.PasswordHash))
            {
                var user = _DL.User.Get.ByID(UserLoginDetails.UserID);
                // Set User
                CurrentUser = user;
                // Set Log In
                Global.Cache.SetLogIn(user.UserID);
                //
                return(GetJson(new
                {
                    FirstName = user.UserFirstName,
                    LastName = user.UserLastName,
                    UserID = user.UserID,
                    AvatarSmall = user.AvatarSmall,
                    AvatarBig = user.AvatarBig
                }));
            }
            else
            {
                return(GetJson(EN_ErrorCodes.IncorrectPassword));
            }
        }
コード例 #3
0
        public ActionResult RegisterAndJoin(TagRegisterAndJoinDTO model)
        {
            // Tag
            if (_DL.Tag.Get.ByID(model.TagID) == null)
            {
                return(RedirectToAction("TagNotFound", "Errors"));
            }
            // User
            if (_DL.User.Get.ByID(model.UserID) == null)
            {
                return(RedirectToAction("UserNotFound", "Errors"));
            }
            // Get Model
            var user = model.TO_VM();

            // Test User Exist
            if (_DL.User.Account.CheckExistence_ByEmail(user.UserEmail))
            {
                return(RedirectToAction("UserAlreadyExist", "Errors"));
            }
            // Validate
            if (!model.Validate())
            {
                throw new RegistrationException();
            }
            user.UserLoginDetails = HashHMACSHA1.CreateSaltedHash(user.UserPassword, 10);
            var userNew = _DL.User.Account.Register(user);

            // Add to session
            CurrentUser = _DL.User.Get.ByID(user.UserID);
            return(RedirectToAction("JoinToTag", "Tag", new { model.UserID, model.TagID }));
        }
コード例 #4
0
        public ActionResult LoginAndJoin(TagLoginAndJoinDTO model)
        {
            // Tag
            if (_DL.Tag.Get.ByID(model.TagID) == null)
            {
                return(RedirectToAction("TagNotFound", "Errors"));
            }
            // User
            if (_DL.User.Get.ByID(model.UserID) == null)
            {
                return(RedirectToAction("UserNotFound", "Errors"));
            }
            // Login Details
            var UserLoginDetails = _DL.User.Account.LoginDetails_ByEmail(model.Login);

            if (UserLoginDetails == null)
            {
                return(RedirectToAction("UserNotFound", "Errors"));
            }
            // login And Join
            if (ModelState.IsValid && UserLoginDetails.UserID >= 0)
            {
                if (HashHMACSHA1.CheckSaltedHash(model.Password, UserLoginDetails.PasswordHash))
                {
                    CurrentUser = _DL.User.Get.ByID(UserLoginDetails.UserID);
                    return(RedirectToAction("JoinToTag", "Tag", new { model.UserID, model.TagID }));
                }
            }
            return(RedirectToAction("IncorrectLogin", "Errors"));
        }
コード例 #5
0
                public static int Password(long UserID, string password)
                {
                    using (var exodusDB = new exodusEntities())
                    {
                        var hash = HashHMACSHA1.CreateSaltedHash(password, 10);

                        return(exodusDB.stp_User_Password_Update(UserID, hash.Hash, hash.Salt, hash.Iterations));
                    }
                }
コード例 #6
0
        public ActionResult Register(UserRegister_DTO userRigisterDTO)
        {
            if (!userRigisterDTO.Validate())
            {
                return(RedirectToAction("Registration", "Errors"));
            }
            // Test User Exist
            if (Global.Cache.CheckEmailExists(userRigisterDTO.Email))
            {
                return(RedirectToAction("UserAlreadyExist", "Errors"));
            }
            // user registration
            var user = userRigisterDTO.ViewModel;

            //
            user.UserLoginDetails = HashHMACSHA1.CreateSaltedHash(userRigisterDTO.Password, 10);
            var userNew = _DL.User.Account.Register(user);

            // Add to session
            CurrentUser = _DL.User.Get.ByID(user.UserID);
            return(RedirectToAction("Index", "Desktop"));
        }