public async Task <ActionResult> Index(LoginInfo objLogin, string returnUrl) { if (ModelState.IsValid) { ApplicationUser oUser = await SignInManager.UserManager.FindByNameAsync(objLogin.UserName); if (oUser != null && oUser.Password == objLogin.Password) { switch (oUser.Status) { case EnumUserStatus.Pending: ModelState.AddModelError("", "Error: User account has not been verified."); break; case EnumUserStatus.LockedOut: ModelState.AddModelError("", "Error: User account has been locked out due to multiple login tries."); break; case EnumUserStatus.Closed: ModelState.AddModelError("", "Error: User account has been closed."); break; case EnumUserStatus.Banned: ModelState.AddModelError("", "Error: User account has been banned."); break; case EnumUserStatus.Active: SignInManager.SignIn(oUser, false, false); IList <string> roleList = UserRoleController.GetUserRoles(oUser.Id); foreach (string role in roleList) { UserManager.AddToRole(oUser.Id, role); } //if no return url provided then redirect page based on role if (string.IsNullOrEmpty(returnUrl)) { if (roleList.IndexOf("Administrator") >= 0) { return(RedirectToAction("Index", "Admin")); } else { return(RedirectToAction("Index", "Member")); } } return(RedirectToLocal(returnUrl)); } } else { ModelState.AddModelError("", "Error: Invalid login details."); } } return(View(objLogin)); }
public void GetUserRoles_Success() { var response = _controller.GetUserRoles(_userID); var hasAssignedRoles = false; foreach (var model in response.DataItems) { if (model.UserRoleID > 0) { hasAssignedRoles = true; } } Assert.IsTrue(response != null, "Response can't be null"); Assert.IsTrue(response.DataItems != null, "Data items can't be null"); Assert.IsTrue(response.DataItems.Count > 0 && hasAssignedRoles, "At least one user role record must exist"); }
public Task <IList <string> > GetRolesAsync(ApplicationUser user) { if (user != null) { return(Task.Factory.StartNew(() => { IList <string> roles = UserRoleController.GetUserRoles(user.Id); return roles; })); } else { throw new ArgumentNullException("user"); } }
public Task <bool> IsInRoleAsync(ApplicationUser user, string roleName) { if (user != null) { return(Task.Factory.StartNew(() => { IList <string> roles = UserRoleController.GetUserRoles(user.Id); return roles.Count(x => x.ToUpper() == roleName.ToUpper()) > 0; })); } else { throw new ArgumentNullException("user"); } }
public Task <bool> IsInRoleAsync(ApplicationUser user, string roleName) { if (user != null) { return(Task.Factory.StartNew(() => { IList <string> roles = UserRoleController.GetUserRoles(user.Id); foreach (string role in roles) { if (role.ToUpper() == roleName.ToUpper()) { return true; } } return false; })); } else { throw new ArgumentNullException("user"); } }
public async Task <ActionResult> ChangePassword(ChangePasswordViewModel objLogin, string returnUrl) { UserInfo UserInfo = new UserInfo(); UserInfo = UserController.GetUserInfo(User.Identity.Name); if (UserInfo.ImageContent1 == null) { return(RedirectToAction("Index", "Login")); //return null; } ViewBag.ImageContent1 = UserInfo.ImageContent1; if (ModelState.IsValid) { ApplicationUser oUser = await SignInManager.UserManager.FindByNameAsync(UserInfo.UserName); if (oUser != null && oUser.Password.Equals(objLogin.OldPassword)) { switch (oUser.Status) { case EnumUserStatus.Pending: ModelState.AddModelError("", "Error: User account has not been verified."); break; case EnumUserStatus.Active: SignInManager.SignIn(oUser, false, false); IList <string> roleList = UserRoleController.GetUserRoles(oUser.Id); foreach (string role in roleList) { UserManager.AddToRole(oUser.Id, role); } //if no return url provided then redirect page based on role if (string.IsNullOrEmpty(returnUrl)) { if (roleList.IndexOf("Administrator") >= 0) { string newPassword = objLogin.NewPassword; string confirmPassword = objLogin.ConfirmPassword; if (newPassword.Equals(confirmPassword)) { // create object user var user = new ApplicationUser { Id = oUser.Id, UserName = UserInfo.UserName, Password = newPassword }; //update password var result = await UserManager.UpdateAsync(user); } else { ModelState.AddModelError("", "Error: New password and confirm password don't match."); break; } ModelState.AddModelError("Success", "Success! Your Password has been changed!"); break; //return RedirectToAction("Index", "ChangePassword"); } else { return(RedirectToAction("Index", "Member")); } } //return RedirectToLocal(returnUrl); return(null); case EnumUserStatus.Banned: ModelState.AddModelError("", "Error: User account has been banned."); break; case EnumUserStatus.LockedOut: ModelState.AddModelError("", "Error: User account has been locked out due to multiple login tries."); break; } } else { ModelState.AddModelError("", "Vi kunne ikke finde en bruger med det angivne brugernavn og adgangskode. Prøv venligst igen."); } } return(View(objLogin)); }
public async Task <ActionResult> Index(bool chkRemember, LoginInfo objLogin, string returnUrl) { bool estadoAdd = true; //var Estado = ActiveDirectoryAzure("EXT_PMO_JuanAviles", "pmo360"); if (ModelState.IsValid) { // // PASO 1: BUSCAR EN REPOSITORIO DE LA COMPAÑIA // if (estadoAdd) { // // PASO 2: BUSCAR EN REPOSITORIO LOCAL // - SI EL USUARIO EXISTE EN ADD, PERO NO EN CAPEX, ENTONCES CREAR // - SI EL USUARIO EXISTE EN ADD Y EN CAPEX, ENTONCES PROCESAR // ApplicationUser oUser = await SignInManager.UserManager.FindByNameAsync(objLogin.UserName); // // PASO 2.1: CREACION DE CUENTA TEMPORAL // if (oUser == null) { return(RedirectToLocal(returnUrl)); } // // PASO 2.2 : PROCESAR // else if (oUser != null && oUser.Password == objLogin.Password) { switch (oUser.Status) { case EnumUserStatus.Pending: ModelState.AddModelError("", "Error: Su cuenta no está activada."); break; case EnumUserStatus.Active: SignInManager.SignIn(oUser, false, false); IList <string> roleList = UserRoleController.GetUserRoles(oUser.Id); foreach (string role in roleList) { UserManager.AddToRole(oUser.Id, role); } if (string.IsNullOrEmpty(returnUrl)) { Session["CAPEX_SESS_ES_ADM_CAPEX"] = "NO"; if (chkRemember) { HttpCookie cookie = new HttpCookie("CAPEX_COOKIE_USERNAME"); cookie.Values.Add("UserName", objLogin.UserName); cookie.Expires = DateTime.Now.AddDays(15); Response.Cookies.Add(cookie); } ILogin = FactoryLogin.delega(DU); var atributos = ILogin.ObtenerInformacionUsuario(objLogin.UserName); foreach (var at in atributos) { Session["CAPEX_SESS_USUTOKEN"] = at.UsuToken.ToString(); Session["CAPEX_SESS_COMTOKEN"] = at.ComToken.ToString(); Session["CAPEX_SESS_AREATOKEN"] = at.AreaToken.ToString(); Session["CAPEX_SESS_IDEMPRESA"] = at.IdEmpresa.ToString(); Session["CAPEX_SESS_USUID"] = at.UsuId.ToString(); Session["CAPEX_SESS_ROLNOMBRE"] = at.RolNombre.ToString(); Session["CAPEX_SESS_USURUT"] = at.UsuRut.ToString(); Session["CAPEX_SESS_USUNOMBRE"] = at.UsuNombre.ToString(); Session["CAPEX_SESS_USUAPELLIDO"] = at.UsuApellido.ToString(); Session["CAPEX_SESS_USUEMAIL"] = at.UsuEmail.ToString(); Session["CAPEX_SESS_USERNAME"] = objLogin.UserName.ToString(); } // // REGISTRAR ACCESO ADM CAPEX // string CapexAdminToken = ConfigurationManager.AppSettings.Get("CAPEX_ADMIN_TOKEN"); if (Convert.ToString(Session["CAPEX_SESS_USUTOKEN"]) == CapexAdminToken) { var Solicitudes = NumeroSolicitudesPendientesAdm(); Session["CAPEX_SESS_ES_ADM_CAPEX"] = "SI"; Session["CAPEX_SESS_NUM_SOL_PEND_ADM"] = Solicitudes; } var Comentarios = NumeroComentarios(objLogin.UserName); Session["CAPEX_SESS_NUM_COMENTARIOS"] = Comentarios; return(RedirectToAction("Index", "Panel")); } return(RedirectToLocal(returnUrl)); case EnumUserStatus.Banned: ModelState.AddModelError("", "Error: Su cuenta se encuntra desabilitada."); break; case EnumUserStatus.LockedOut: ModelState.AddModelError("", "Error: Su cuenta se encuentra bloqueada."); break; } } else { ModelState.AddModelError("", "Error: Datos de acceso incorrectos."); } } else { ModelState.AddModelError("", "Error: Datos de acceso incorrectos."); } } return(View(objLogin)); }