public void RemoveLogin(string loginProvider, string providerKey) { UserManager manager = new UserManager(); var result = manager.RemoveLogin(User.Identity.GetUserId(), new UserLoginInfo(loginProvider, providerKey)); var msg = result.Succeeded ? "?m=RemoveLoginSuccess" : String.Empty; Response.Redirect("~/Account/Manage" + msg); }
public void RemoveLogin(string loginProvider, string providerKey) { UserManager manager = new UserManager(); var result = manager.RemoveLogin(User.Identity.GetUserId(), new UserLoginInfo(loginProvider, providerKey)); string msg = String.Empty; if (result.Succeeded) { var user = manager.FindById(User.Identity.GetUserId()); IdentityHelper.SignIn(manager, user, isPersistent: false); msg = "?m=RemoveLoginSuccess"; } Response.Redirect("~/Account/Manage" + msg); }
public JsonResult DeleteConfirmed(string id, string confirmText) { ApplicationUser user = context.Users.FirstOrDefault(u => u.Id == id); context.Users.Attach(user); context.Entry(user).Collection(u => u.Roles).Load(); var success = false; string error = ""; if (user == null) { error = "Không tìm thấy người dùng này"; } else if (confirmText.ToLower() != "đồng ý") { error = "Chuỗi nhập vào chưa đúng"; } else { var roles = UserManager.GetRoles(user.Id); if (roles.Contains("Admin")) { error = "Không có quyền xóa tài khoản Admin"; } else { //remove login var logins = user.Logins; foreach (var login in logins.ToList()) { UserManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } //remove role foreach (var role in roles) { UserManager.RemoveFromRole(user.Id, role); } //remove user context.Users.Remove(user); context.SaveChanges(); success = true; } } return(Json(new { success = success, id = id, error = error })); }
/// <summary> /// Removes a user from the system completely. /// </summary> /// <param name="user">The user to unregister</param> private void Unregister(ApplicationUser user) { var logins = UserManager.GetLogins(user.Id); var roles = UserManager.GetRoles(user.Id); foreach (var login in logins) { UserManager.RemoveLogin(user.Id, login); } if (roles.Count > 0) { UserManager.RemoveFromRoles(user.Id, roles.ToArray()); } UserManager.Delete(user); }
public IHttpActionResult DeleteUser(string korisnikId) { UserStore <ApplicationUser> userStore = new UserStore <ApplicationUser>(dbContext); UserManager <ApplicationUser> userManager = new UserManager <ApplicationUser>(userStore); var userZaBrisanje = userManager.FindById(korisnikId); if (userZaBrisanje == null) { return(NotFound()); } else { var logins = userZaBrisanje.Logins; var rolesForUser = userManager.GetRoles(korisnikId); foreach (var login in logins) { userManager.RemoveLogin(korisnikId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } if (rolesForUser.Count > 0) { foreach (var item in rolesForUser.ToList()) { userManager.RemoveFromRole(korisnikId, item); } } var omiljeniOglasiZaBrisanje = dbContext.OmiljeniOglasiPoKorisniku.Where(x => x.KorisnikKomeJeOglasOmiljenId == korisnikId || x.OmiljeniOglas.UserAutorOglasaId == korisnikId); dbContext.OmiljeniOglasiPoKorisniku.RemoveRange(omiljeniOglasiZaBrisanje); dbContext.SaveChanges(); string putanjaZaBrisanjeSlikaFolderKorisnika = HttpContext.Current.Server.MapPath(Path.Combine(PomocnaKlasa.ImagesFolder, korisnikId)); if (Directory.Exists(putanjaZaBrisanjeSlikaFolderKorisnika)) { Directory.Delete(HttpContext.Current.Server.MapPath(Path.Combine(PomocnaKlasa.ImagesFolder, korisnikId)), true); } userManager.Delete(userZaBrisanje); return(Ok()); } }
public ActionResult DeleteConfirmed(string id) { var userStore = new UserStore <ApplicationUser>(db); var userManager = new UserManager <ApplicationUser>(userStore); if (ModelState.IsValid) { // // TODO: Check if the explicit removal of logins is needed or not. // It is possible that it is done automatically, by the // userManager.Delete method. // The code to remove users was found on internet and we // have already removed some unnessesary code to remove roles. // The code found used userManager.DeleteAsync method, but // we removed some "await" and "Async" strings from code and // identifiers to have it compile. // if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var user = userManager.FindById(id); var logins = user.Logins; var rolesForUser = userManager.GetRoles(id); using (var transaction = db.Database.BeginTransaction()) { foreach (var login in logins.ToList()) { userManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } userManager.Delete(user); transaction.Commit(); } return(RedirectToAction("Index")); } else { return(View()); } }
public ActionResult Disassociate(string provider, string providerUserId) { ManageMessageId?message = null; var owner = UserManager.Find(new UserLoginInfo(provider, providerUserId)); if (owner != null && owner.UserName == User.Identity.Name) { IdentityResult result = UserManager.RemoveLogin(owner.Id, new UserLoginInfo(provider, providerUserId)); if (result.Succeeded) { message = ManageMessageId.RemoveLoginSuccess; } else { message = ManageMessageId.Error; } } return(RedirectToAction("Manage", new { Message = message })); }
public void DeleteMultipleDrivers(IEnumerable <int> driversToDelete) { List <string> driversToDeleteInUserTable = new List <string>(); Context.Driver.Where(d => driversToDelete.Contains(d.DriverId)).ToList().ForEach( d => { d.IsDeleted = true; } ); Context.Commit(); using (ApplicationDbContext appDBcontext = new ApplicationDbContext()) { UserStore <ApplicationUser> store = new UserStore <ApplicationUser>(appDBcontext); UserManager <ApplicationUser> UserManager = new UserManager <ApplicationUser>(store); foreach (var userId in driversToDeleteInUserTable) { var user = UserManager.FindById(userId); var logins = user.Logins; var rolesForUser = UserManager.GetRoles(userId); using (var transaction = appDBcontext.Database.BeginTransaction()) { foreach (var login in logins.ToList()) { UserManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } if (rolesForUser.Count() > 0) { foreach (var item in rolesForUser.ToList()) { // item should be the name of the role var result = UserManager.RemoveFromRole(user.Id, item); } } UserManager.Delete(user); transaction.Commit(); } } } }
// GET: Manage/DeleteUser/5 //[Authorize(Roles = "IT")] public ActionResult DeleteUser(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //Initialize db var db = new ApplicationDbContext(); //Initialize user/role managers var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var RoleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db)); //Get the user var user = UserManager.FindById(id); Dictionary <string, string> roles = RoleManager.Roles.ToDictionary(r => r.Id, r => r.Name); var roleId = roles.Where(r => r.Value == "student").FirstOrDefault().Key; var rolesForUser = UserManager.GetRoles(id); if (rolesForUser.Count() > 0) { foreach (var item in rolesForUser.ToList()) { // item should be the name of the role var result = UserManager.RemoveFromRole(user.Id, item); } } var logins = user.Logins; foreach (var login in logins.ToList()) { UserManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } UserManager.Delete(user); return(RedirectToAction("Users")); }
public ActionResult userDelete(ApplicationUser model) { ViewBag.Message = "Your contact page."; string userid = User.Identity.GetUserId(); var currentuser = db.Users.SingleOrDefault(u => u.Id == userid); var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var logins = currentuser.Logins; foreach (var login in logins.ToList()) { UserManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } var rolesForUser = UserManager.GetRoles(userid); if (rolesForUser.Count() > 0) { foreach (var item in rolesForUser.ToList()) { // item should be the name of the role var result = UserManager.RemoveFromRole(currentuser.Id, item); } } var PostsForUser = currentuser.Posts; foreach (var item in PostsForUser.ToList()) { db.Posts.Remove(item); } var ComentsForUser = currentuser.Comments; foreach (var item in ComentsForUser.ToList()) { db.Comments.Remove(item); } UserManager.Delete(currentuser); return(RedirectToAction("AfterDelete")); }
//Verwijdert een gebruiker en al zijn verwijzingen in andere tables zoals, in identityuserrole, identityuserlogin en identityuserclaim. public void DeleteGebruiker(Gebruiker user) { var logins = user.Logins; var rolesForUser = userManager.GetRoles(user.Id); //Hier verwijdert hij de logins. foreach (var login in logins.ToList()) { userManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } //Hier verwijdert hij de identityuserrole if (rolesForUser.Any()) { foreach (var item in rolesForUser.ToList()) { userManager.RemoveFromRoleAsync(user.Id, item); } } userManager.Delete(user); }
public void Remove(string id) { var user = UserManager.FindById(id); var logins = user.Logins; foreach (var login in logins) { UserManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } var rolesForUser = UserManager.GetRoles(id); if (rolesForUser.Count() > 0) { foreach (var item in rolesForUser.ToList()) { // item should be the name of the role var result = UserManager.RemoveFromRole(user.Id, item); } } UserManager.Delete(user); }
public ActionResult DeleteConfirmed(int id) { if (ModelState.IsValid) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //initialize a user manager var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context)); BTTUser user = db.BTTUsers.Find(id); //get Account BeyondTheTutor (DATA) var aspAccount = UserManager.FindById(user.ASPNetIdentityID); //get Account AspAccountIdentity (DATA) //information about 3rd party/external logins, for example users who login into our site via Google, Facebook, Twitter etc var logins = aspAccount.Logins; var accountRoles = UserManager.GetRoles(aspAccount.Id); //get roles //viewbag printouts for Target Account var accountEmail = aspAccount.Email.ToString(); // get email of account being deleted var firstName = user.FirstName; // first and var lastName = user.LastName; // last name var accountRole = UserManager.GetRoles(aspAccount.Id).FirstOrDefault().ToString(); //eof viewbag printouts db.BTTUsers.Remove(user); //remove BeyondTheTutor Account's (DATA) db.SaveChanges(); using (var transaction = context.Database.BeginTransaction()) { foreach (var login in logins.ToList()) { UserManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } if (accountRoles.Count() > 0) { foreach (var item in accountRoles.ToList()) { // item should be the name of the role var result = UserManager.RemoveFromRole(aspAccount.Id, item); } } UserManager.Delete(aspAccount); transaction.Commit(); } TempData["f"] = "You have successfully removed a " + accountRole + ": " + firstName + " " + lastName + ", " + accountEmail + ""; return(RedirectToAction("Index")); } else { ViewBag.f = "Something went wrong. Please make sure your action was valid."; return(View()); } }
public ActionResult DeleteConfirmed(string id) { if (User.Identity.IsAuthenticated) { string cid = User.Identity.GetUserId(); UserManager <ApplicationUser> userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(appDb)); var roles = userManager.GetRoles(cid); if (roles[0] == "Doctor") { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Doctor doctor = db.Doctors.Find(id); db.Doctors.Remove(doctor); db.SaveChanges(); if (ModelState.IsValid) { var user = userManager.FindById(id); if (user == null) { return(RedirectToAction("Index")); } // Log user off if current user is being deleted if (cid == id) { HttpContext.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie); } var logins = user.Logins; var rolesForUser = userManager.GetRoles(id); using (var transaction = appDb.Database.BeginTransaction()) { foreach (var login in logins.ToList()) { userManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey)); } if (rolesForUser.Count() > 0) { foreach (var item in rolesForUser.ToList()) { var result = userManager.RemoveFromRole(user.Id, item); } } userManager.Delete(user); transaction.Commit(); } return(RedirectToAction("Index")); } else { return(View()); } } else { return(View("AccessDenied")); } } else { return(View("NotLoggedIn")); } }
public ActionResult DeleteConfirmed(int?id) { using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { try { if (id == null) { TempData["Toastr"] = Toastr.BadRequest; return(RedirectToAction("Index")); } var user = _db.Users.Find(id); if (user == null) { TempData["Toastr"] = Toastr.HttpNotFound; return(RedirectToAction("Index")); } if (user.UserName.ToLower() == "admin") { TempData["Toastr"] = Toastr.CustomError("The User admin cannot be deleted."); return(RedirectToAction("Index")); } var applicationUser = _userManager.FindByName(user.UserName); var logins = applicationUser.Logins; var rolesForUser = _userManager.GetRoles(applicationUser.Id); logins.ForEach(login => _userManager.RemoveLogin(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey))); if (rolesForUser.Any()) { rolesForUser.ForEach(role => _userManager.RemoveFromRole(applicationUser.Id, role)); } _userManager.Delete(applicationUser); _db.Users.Remove(user); _db.SaveChanges(); transaction.Complete(); TempData["Toastr"] = Toastr.Deleted; return(RedirectToAction("Index")); } catch (DbUpdateException ex) { var sqlException = ex.GetBaseException() as SqlException; if (sqlException == null || sqlException.Errors.Count <= 0) { throw; } switch (sqlException.Errors[0].Number) { case 547: // Foreign Key violation Transaction.Current.Rollback(); TempData["Toastr"] = Toastr.CustomError("The user cannot be deleted, because it is in use."); return(RedirectToAction("Index")); default: throw; } } catch (Exception ex) { Transaction.Current.Rollback(); TempData["Toastr"] = Toastr.DbError(ex.Message); return(RedirectToAction("Index")); } } }