Ejemplo n.º 1
0
        public async Task<IActionResult> Login(string ReturnUrl)
        {
            //auto-authorizing if DB disabled or AllowFullAccessWithoutAuthorization is true
            if (SystemController.webServerRules.AllowFullAccessWithoutAuthorization
                || !SystemController.dataBaseConfig.Enable)
            {
                User user = new User
                {
                    Name = "Admin",
                    Password = "******"
                };

                user.SetClaims(Users.User.GetAllClaims());

                await Authenticate(user);

                if (!String.IsNullOrEmpty(ReturnUrl))
                    return Redirect(ReturnUrl);

                return RedirectToAction("Index", "Home");
            }

            ViewBag.ReturnUrl = ReturnUrl;

            return View(new LoginModel());
        }
        public async Task<IActionResult> UserProfile(RegisterModel model)
        {
            //prevent start wizard if already passed
            if (!bool.Parse(configuration["FirstRun"]))
                return View("Error", ALREADY_PASSED_MESSAGE);

            //redirect to first step if user came this url directly
            if (SystemController.dataBaseConfig == null)
                return RedirectToAction("Index");

            IUsersRepository db = SystemController.usersDb;

            if (ModelState.IsValid)
            {
                User user = db.GetUser(model.Name);
                if (user == null)
                {
                    user = new User()
                    {
                        Name = model.Name,
                        Email = model.Email,
                        Password = model.Password,
                    };

                    user.SetClaims(Users.User.GetAllClaims());

                    db.AddUser(user);

                    await Authenticate(user);

                    return RedirectToAction("Complete");
                }

                ModelState.AddModelError("", "User already exists");
            }
            return View(model);
        }
        public async Task<IActionResult> UserProfile()
        {
            //prevent start wizard if already passed
            if (!bool.Parse(configuration["FirstRun"]))
                return View("Error", ALREADY_PASSED_MESSAGE);

            //redirect to first step if user came this url directly
            if (SystemController.dataBaseConfig == null)
                return RedirectToAction("Index");

            if (!SystemController.dataBaseConfig.Enable)
            {
                User user = new User
                {
                    Name = "Admin",
                    Password = "******"
                };

                user.SetClaims(Users.User.GetAllClaims());

                await Authenticate(user);

                return View("UserProfileNoDatabase");
            }

            if (SystemController.usersDb.GetUsersCount() > 0)
                ViewBag.CanSkip = true;

            return View(new RegisterModel());
        }