Esempio n. 1
0
        public JsonResult ImportAdUsers(IList <string> usernames)
        {
            var importedUsers = new List <Usuario>();
            var systemUsers   = _accountService.GetUsers();

            foreach (var username in usernames)
            {
                var adInfo = AdUserInfoService.GetAdUserInfo(username);

                var userAccount = new Usuario
                {
                    NombreUsuario     = adInfo.LoginName,
                    NombreMostrar     = adInfo.DisplayName,
                    Email             = adInfo.EmailAddress,
                    EsLdap            = true,
                    CreadoEn          = DateTime.Now,
                    ActualizadoEn     = DateTime.Now,
                    LocalPassword     = "",
                    UltimoLoginEn     = DateTime.Now.AddYears(-100),
                    UltimaActividadEn = DateTime.Now.AddYears(-100)
                };

                if (systemUsers.All(u => u.NombreUsuario != adInfo.LoginName))
                {
                    var confirmation = _accountService.SaveOrUpdateUser(userAccount);
                    if (confirmation.WasSuccessful)
                    {
                        importedUsers.Add(userAccount);
                    }
                }
            }

            return(Json(true));
        }
Esempio n. 2
0
        public ActionResult ChangePassword(ChangePasswordModel formModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    AdUserInfoService.ResetPassword(User.Identity.Name, formModel.OldPassword, formModel.Password);
                    this.AddPageMessage("Contraseña cambiada con éxito", PageMessageType.Success, true);
                    return(RedirectToAction("LogOff"));
                }
                catch (Exception exception)
                {
                    ModelState.AddModelError("", "Error al actualizar: " + exception.Message.ToString());
                }
            }

            formModel.Usuario = _userAccountService.GetUser(User.Identity.Name);

            return(View(formModel));
        }
Esempio n. 3
0
        public ActionResult UserStatus()
        {
            var viewModel = new UserStatusViewModel();

            if (Request.IsAuthenticated)
            {
                viewModel.IsAuthenticated = true;

                var adUserInfo = AdUserInfoService.GetAdUserInfo(User.Identity.Name);
                if (adUserInfo != null)
                {
                    viewModel.LoginName   = adUserInfo.LoginName;
                    viewModel.DisplayName = adUserInfo.FirstName;
                    viewModel.Thumbnail   = adUserInfo.Thumbnail;
                }
            }


            return(PartialView("_userStatus", viewModel));
        }
Esempio n. 4
0
        public ActionResult Index()
        {
            var systemUsers      = _accountService.GetUsers();
            var adUsersForImport = new List <AdUserInfo>();

            if (Configuration.GetConfig().LdapAuthEnabled)
            {
                IList <AdUserInfo> adUsers;
                try
                {
                    adUsers = AdUserInfoService.GetAdUserList();
                }
                catch (Exception exception)
                {
                    adUsers = new List <AdUserInfo>();
                    this.AddPageMessage("No se puede conectar al Active Directory", PageMessageType.Error, false);
                }


                foreach (var adUser in adUsers)
                {
                    if (systemUsers.All(u => u.NombreUsuario != adUser.LoginName))
                    {
                        adUsersForImport.Add(adUser);
                    }
                }
            }

            var viewModel = new UsersViewModel
            {
                Users             = systemUsers,
                AdUsers           = adUsersForImport,
                IsLdapAuthEnabled = Configuration.GetConfig().LdapAuthEnabled
            };

            return(View(viewModel));
        }