Пример #1
0
        public ActionResult Register(CreateAccountViewmodel model)
        {
            if (!ModelState.IsValid)
            {
                // om inte rätt format
                return(View(model));
            }

            postgres sql   = new postgres();
            bool     check = sql.SqlQueryExist("Select exists(SELECT users.username FROM public.users WHERE users.username = @par1);", postgres.list = new List <NpgsqlParameter>()
            {
                new NpgsqlParameter("@par1", model.User)
            });

            if (!check)
            {
                Accountservice User = new Accountservice();
                User.RegisterNewUser(model.User, model.email, model.First_name, model.Last_name);
                return(RedirectToAction("Index", "Account"));
            }
            else
            {
                ModelState.AddModelError("", "Användarnamnet finns redan, Välj ett annat");
                return(View(model));
            }
        }
Пример #2
0
        public ActionResult NewUser(Users model)
        {
            try
            {
                Accountservice         User     = new Accountservice();
                Tuple <byte[], byte[]> password = User.Generatepass(model.Password);
                postgres sql = new postgres();
                // Behöver skrivas om
                sql.SqlNonQuery("INSERT INTO login (salt, key ,username,roles_id,email,acc_active,last_login) VALUES (@par2,@par3,@par1,'2',@email,@active,@last_login)", postgres.list = new List <NpgsqlParameter>()
                {
                    new NpgsqlParameter("@par1", model.User),
                    new NpgsqlParameter("@par2", password.Item1),
                    new NpgsqlParameter("@email", model.email),
                    new NpgsqlParameter("@active", model.active),
                    new NpgsqlParameter("@last_login", DateTime.Now),
                    new NpgsqlParameter("@par3", password.Item2)
                });

                return(RedirectToAction("index", "admin"));
            }
            catch
            {
                return(View());
            }
        }
Пример #3
0
        public ActionResult Index(Accountmodels model)
        {
            if (!ModelState.IsValid)
            {
                // om inte rätt format
                return(View(model));
            }
            Accountservice acc    = new Accountservice();
            var            result = acc.AuthenticationUser(model.Password, model.user);

            if (result.Item2 == true)
            {
                var identity = new ClaimsIdentity(new[] {
                    new Claim(ClaimTypes.Name, Convert.ToString(result.Item1)),
                    new Claim(ClaimTypes.Role, result.Item3),
                    new Claim(ClaimTypes.GivenName, result.Item3)
                }, "ApplicationCookie");

                var ctx         = Request.GetOwinContext();
                var authManager = ctx.Authentication;
                authManager.SignIn(identity);
                if (!string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
                {
                    return(Redirect(Request.QueryString["ReturnUrl"]));
                }

                return(Redirect("home/index"));
            }
            else
            {
                ModelState.AddModelError("", "Fel lösenord eller användanamn");
                return(View(model));
            }
        }
Пример #4
0
        public void CreateUser(string user, string email, bool active, string Password, string fname, string last_name)
        {
            Accountservice         User     = new Accountservice();
            Tuple <byte[], byte[]> password = User.Generatepass(Password);
            postgres sql = new postgres();
            // Behöver skrivas om! klart!
            postgres sql2 = new postgres();

            int id = sql2.SqlQueryString("INSERT INTO login (salt, hash, reset_time, reset_hash) VALUES (@salt ,@hash, @time, 1) RETURNING login_id;", postgres.list = new List <NpgsqlParameter>()
            {
                new NpgsqlParameter("@salt", password.Item1),
                new NpgsqlParameter("@hash", password.Item2),
                new NpgsqlParameter("@time", Convert.ToDateTime("1970-01-01 00:00:00"))
            });
            postgres sql3       = new postgres();
            int      id_setting = sql3.SqlQueryString("INSERT INTO usersettings (day_of_slumpcron) VALUES (6) RETURNING setting_id;", postgres.list = new List <NpgsqlParameter>()
            {
            });

            sql.SqlNonQuery("INSERT INTO users (username,roles_id,email,acc_active,last_login,login_id,settings_id,fname,last_name) VALUES (@par1,'2',@email,@active,@last_login,@login_id,@settings_id,@fname,@last_name)", postgres.list = new List <NpgsqlParameter>()
            {
                new NpgsqlParameter("@par1", user),
                new NpgsqlParameter("@email", email),
                new NpgsqlParameter("@active", active),
                new NpgsqlParameter("@login_id", id),
                new NpgsqlParameter("@settings_id", id_setting),
                new NpgsqlParameter("@last_login", DateTime.Now),
                new NpgsqlParameter("@fname", fname),
                new NpgsqlParameter("@last_name", last_name)
            });
        }
Пример #5
0
        public ActionResult Forgetpassword(Users model)
        {
            Accountservice acc = new Accountservice();

            bool result = acc.Forgetpassword(model.User);

            if (result)
            {
                return(RedirectToAction("Index", "Home"));
            }
            ModelState.AddModelError("", "Användaren finns inte eller så är kontot inte aktiverat");
            return(View(model));
        }
Пример #6
0
        public void Newpassword(int login_id, string newpassword)
        {
            Accountservice         User1    = new Accountservice();
            Tuple <byte[], byte[]> password = User1.Generatepass(newpassword);
            postgres sql = new postgres();

            // behöver skrivas om! klart
            sql.SqlNonQuery("UPDATE login set salt= @par2, hash =@par3 WHERE login_id =@par1", postgres.list = new List <NpgsqlParameter>()
            {
                new NpgsqlParameter("@par1", login_id),
                new NpgsqlParameter("@par2", password.Item1),
                new NpgsqlParameter("@par3", password.Item2)
            });
        }
Пример #7
0
        public ActionResult Resetpassword(string validate)
        {
            if (string.IsNullOrEmpty(validate))
            {
                return(RedirectToAction("Index", "Home"));
            }
            Users                     us    = new Users();
            Accountservice            acc   = new Accountservice();
            Tuple <int, bool, string> reset = acc.Resetpassword(validate);

            if (reset.Item2)
            {
                us.Login_id = reset.Item1;
                us.User     = reset.Item3;
                return(View(us));
            }
            return(RedirectToAction("Forgetpassword", "Account", 1));
        }