Пример #1
0
        public ActionResult Register(UserViewModel model)
        {
            MembershipCreateStatus createStatus;

            if (ModelState.IsValid)
            {
                try{
                    // try to register user
                    var newUser = _bl.Authentication.CreateUser();
                    model.ApplyChanges(newUser, ModelState);
                    if (ModelState.IsValid)
                    {
                        _bl.SaveChanges();

                        createStatus = MembershipCreateStatus.Success;
                        _bl.Authentication.SignIn(model.Benutzername, false /* createPersistentCookie */);
                        return(View("RegisterSuccess", model));
                    }
                }
                catch (Exception e)
                {
                    String stack = e.StackTrace;
                    createStatus = MembershipCreateStatus.ProviderError;
                    ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus));
                }
            }

            ViewData["PasswordLength"] = _bl.Authentication.MinPasswordLength;
            return(View(model));
        }
Пример #2
0
        public IActionResult SignIn([FromBody] UserViewModel vmdl)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            vmdl.Uid = vmdl.Uid.ToLower();
            if (!LDAPAuthenticator.Authenticate(vmdl.Uid, vmdl.Password).IsAuthenticated)
            {
                _log.LogWarning("Failed login attempt for '{0}'", vmdl.Uid);
                return(Unauthorized());
            }
            Person p;

            if (_bl.GetUsers(vmdl.Uid) != null)
            {
                p = _bl.GetUsers(vmdl.Uid);
                _bl.UpdateUser(p);
            }
            else
            {
                p = _bl.CreateUser();
            }
            // Load user data from LDAP and save them into DB
            var ldapUser = LDAPAuthenticator.Authenticate(vmdl.Uid, vmdl.Password);

            vmdl.Refresh(ldapUser);
            vmdl.ApplyChanges(p, _bl);
            _bl.SaveChanges();

            // Create new token from user
            var token = _bl.CreateToken(p);

            return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) }));
        }
Пример #3
0
        public ActionResult Create(UserViewModel vmdl)
        {
            if (ModelState.IsValid)
            {
                IUser user = new User();
                vmdl.ApplyChanges(user);

                _bl.AddUser(user);
                _bl.SaveChanges();

                CacheController.UpdateUsers(_bl);

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

            return(View(vmdl));
        }
Пример #4
0
        public ActionResult Edit(int id, UserViewModel user)
        {
            if (ModelState.IsValid)
            {
                var userToUpdate = _bl.User.GetUser(id);
                user.ApplyChanges(userToUpdate, ModelState);
                //user.ApplyPassword(userToUpdate, ModelState);

                if (ModelState.IsValid)
                {
                    _bl.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                // _bl.SaveChanges();

                // return RedirectToAction("Index");
            }
            return(View(user));
        }
Пример #5
0
        public ActionResult Create(UserViewModel user)
        {
            if (ModelState.IsValid)
            {
                var newUser = _bl.User.CreateUser();
                user.ApplyChanges(newUser, ModelState);
                //user.ApplyPassword(newUser, ModelState);

                if (string.IsNullOrEmpty(user.Passwort))
                {
                    ModelState.AddModelError("password", "Password cannot be empty");
                }

                if (ModelState.IsValid)
                {
                    _bl.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            return(View(user));
        }