Beispiel #1
0
        /// <author>Dennis van Hest</author>
        /// <summary>
        /// Registers a new user
        /// </summary>
        /// <param name="registeringUser">The user that will be registered</param>
        /// <throws>UserAlreadyExistsException if the user with the given username already exists</throws>
        /// <throws>PasswordNotEqualToPasswordRepeatException if the fiven password does not match the password repeat</throws>
        public void RegisterUser(RegisteringUser registeringUser)
        {
            //Check if a user with that username doesn't already exist
            if (userRepository.UserExists(registeringUser.Username))
            {
                throw new UserAlreadyExistsException("A user with that username already exists.");
            }

            //Check if the Password is the same as the PasswordRepeat
            if (registeringUser.Password != registeringUser.PasswordRepeat)
            {
                throw new PasswordNotEqualToPasswordRepeatException("Your password repeat was not the same as your password. Please try again.");
            }

            //Hash and salt the password
            string salt           = Crypto.GenerateSalt();
            string hashedPassword = HashPassword(registeringUser.Password, salt);

            //Create a new user
            User newUser = new User {
                Username       = registeringUser.Username,
                HashedPassword = hashedPassword,
                Salt           = salt,
                EmailAdress    = registeringUser.EmailAddress
            };

            //Add the new user to the database
            userRepository.CreateUser(newUser);
        }
Beispiel #2
0
        public ViewResult Register(RegisteringUser registeringUser)
        {
            Logger.Log.InfoFormat(Logger.Format + "POST request for Register for user: "******"POST request for Register for user: "******" failed, because the user with that username already exists", GetType().ToString());
                    ViewBag.UserAlreadyExists = uaee.Message;
                    return(View());
                } catch (PasswordNotEqualToPasswordRepeatException pnetpre) {
                    Logger.Log.InfoFormat(Logger.Format + "POST request for Register for user: "******" failed, because the password did not match the password repeat", GetType().ToString());
                    ViewBag.PasswordRepeatNotTheSame = pnetpre.Message;
                    return(View());
                }

                Logger.Log.InfoFormat(Logger.Format + "POST request for Register for user: "******" was successful", GetType().ToString());

                return(View("ThanksForRegistering"));
            }
            else
            {
                return(View());
            }
        }
Beispiel #3
0
        /// <summary>
        /// Returns true if user successfully registered and false if user already exists in DB
        /// </summary>
        /// <param name="user">App user</param>
        public RegistrationResult Register(RegisteringUser registeringUser, ref User user)
        {
            var dbUser = _db.Users.Find(registeringUser.UUID);

            if (dbUser == null)
            {
                _db.Users.Add(dbUser);
                _db.SaveChanges();
                user = dbUser;
                return(RegistrationResult.Registered);
            }

            return(RegistrationResult.UserExists);
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            Configuration.Create(() => new TinyContainer())
            .LoadAssemblies()
            .Done();



            var userRegister = new RegisteringUser {
                UserName = "******",
                Password = "******",
                LoginId  = "guest",
                Email    = "*****@*****.**"
            };


            ObjectContainer.Instance.Resolve <ICommandBus>().Send(userRegister);


            System.Threading.Thread.Sleep(2000);


            var queryService = ObjectContainer.Instance.Resolve <IUserDao>();

            var count = queryService.GetAllUsers().Count();

            Console.WriteLine("user number: " + count);

            var authenticationService = ObjectContainer.Instance.Resolve <IAuthenticationService>();

            if (!authenticationService.Authenticate("guest", "guest"))
            {
                Console.WriteLine("Incorrect username or password");
            }
            else
            {
                Console.WriteLine("Login ok");

                var userLogined = new UserLogined("127.0.0.1");
                ObjectContainer.Instance.Resolve <IEventBus>().Publish(userLogined);
            }

            Console.ReadKey();
        }
Beispiel #5
0
        public JsonResult Register([FromBody] RegisteringUser registeringUser)
        {
            User registeredUser = null;
            var  result         = _userRepository.Register(registeringUser, ref registeredUser);

            JsonResult response = null;

            switch (result)
            {
            case RegistrationResult.Registered:
                var userInfo = GetUserInfo(registeredUser);
                response = new JsonResult(userInfo);
                break;

            case RegistrationResult.UserExists:
                Response.StatusCode = 500;
                response            = new JsonResult("User already exists");
                break;
            }

            return(response);
        }