public async Task <IHttpActionResult> PostAspNetUserRole(AspNetUserRole aspNetUserRole) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.AspNetUserRoles.Add(aspNetUserRole); try { await db.SaveChangesAsync(); } catch (DbUpdateException) { if (AspNetUserRoleExists(aspNetUserRole)) { return(ResponseMessage(getHttpResponse(HttpStatusCode.Conflict))); } else { throw; } } return(CreatedAtRoute("WSApi", new { id = aspNetUserRole.UserId }, aspNetUserRole)); }
/// <summary> /// Update User role information,if new and old roleid are same then do nothing /// </summary> /// <param name="userId"></param> /// <param name="oldRoleId"></param> /// <param name="user"></param> /// <param name="newRole"></param> /// <param name="userBoundary"></param> private static void UpdateUserRole(string userId, string oldRoleId, AspNetUser user, AspNetRole newRole, UserBoundary userBoundary) { if (oldRoleId.Equals(newRole.RoleId, StringComparison.OrdinalIgnoreCase)) { return; } //remove the role first AspNetUserRole userAssignedRole = user.AspNetUserRoles.SingleOrDefault(ur => ur.RoleId.Equals(oldRoleId, StringComparison.OrdinalIgnoreCase) && ur.UserBoundaryId == userBoundary.UserBoundaryId && ur.UserId.Equals(userId, StringComparison.OrdinalIgnoreCase)); if (userAssignedRole != null) //remove the role assigned to user { user.AspNetUserRoles.Remove(userAssignedRole); } //Assign new role user.AspNetUserRoles.Add(new AspNetUserRole { UserId = user.UserId, User = user, RoleId = newRole.RoleId, Role = newRole, UserBoundaryId = userBoundary.UserBoundaryId, UserBoundary = userBoundary }); }
public async Task <IActionResult> UpdateUserRole(UpdateUserRoleModel vm) { if (vm.UserEmail != null && vm.Role != null) { AspNetUser user = await _context.AspNetUsers.Where(u => u.Email == vm.UserEmail).FirstOrDefaultAsync(); AspNetRole role = await _context.AspNetRoles.Where(r => r.NormalizedName == vm.Role).FirstOrDefaultAsync(); AspNetUserRole userRole = _context.AspNetUserRoles.Where(r => r.RoleId.Equals(role.Id)).Where(u => u.UserId.Equals(user.Id)).FirstOrDefault(); if (vm.DeleteRole) { _context.AspNetUserRoles.Remove(userRole); } else { _context.AspNetUserRoles.Add(new AspNetUserRole { RoleId = role.Id, UserId = user.Id }); } await _context.SaveChangesAsync(); } return(NoContent()); }
public async Task <IHttpActionResult> PutAspNetUserRole(string id, AspNetUserRole aspNetUserRole) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != aspNetUserRole.UserId) { return(BadRequest()); } db.Entry(aspNetUserRole).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AspNetUserRoleExists(aspNetUserRole)) { return(ResponseMessage(getHttpResponse(HttpStatusCode.NotFound))); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Car_Specifications_Table car_Specifications_Table = db.Car_Specifications_Table.Find(id); if (car_Specifications_Table == null) { return(HttpNotFound()); } ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId()); AspNetUserRole Ob = db.AspNetUserRoles.Where(r => r.UserId == user.Id).FirstOrDefault(); if (Ob.RoleId == "user") { ViewBag.Car_Owner_ID = db.AspNetUsers.Where(c => c.Id == user.Id).ToList(); } else if (Ob.RoleId == "admin" || Ob.RoleId == "manager") { ViewBag.Car_Owner_ID = db.AspNetUsers.ToList(); } return(View(car_Specifications_Table)); }
private async Task <AspNetUserRole> SetDefaultRoleToUser(string userId) { AspNetRole role; using (var contextProvider = _contextProviderFactory.Create()) { role = contextProvider .GetTable <AspNetRole>() .FirstOrDefault(t => t.RoleName == "user"); if (role == null) { throw new InvalidOperationException(); } var userRole = new AspNetUserRole() { AspNetUserId = userId, RoleId = role.Id, }; AspNetUserRole createdUserRole = await contextProvider.InsertNonEntityAsync(userRole); return(createdUserRole); } }
public static int RoleEdit(AspNetUserRole entity) { using (var db = new ElectronicStoreConnectionDB()) { return(db.Update(entity)); } }
public async Task <IHttpActionResult> Register(RegisterModel register) { if (register.UserName == null || register.UserName == "") { return(Content(HttpStatusCode.BadRequest, new JObject(new JProperty("message", "無註冊資訊")))); } if (db.AspNetUsers.FirstOrDefault(apiUser => apiUser.UserName == register.UserName) != null) { return(Content(HttpStatusCode.BadRequest, new JObject(new JProperty("message", "帳號重複")))); } var v = await repository.CreateUser(new AspNetUser() { Email = register.Email, UserName = register.UserName, PhoneNumber = register.PhoneNumber }, register.Password); AspNetUser user = db.AspNetUsers.FirstOrDefault(apiUser => apiUser.UserName == register.UserName); AspNetRole role = db.AspNetRoles.FirstOrDefault(apiRole => apiRole.Sort == 1); AspNetUserRole userRole = new AspNetUserRole { UserId = user.Id, RoleId = role.Id }; db.AspNetUserRoles.Add(userRole); await db.SaveChangesAsync(); return(await LoginAsync(register.UserName, register.Password)); }
public BaseResponse <ComplexRoleOfUser> AddRolesForUser(List <ComplexRoleOfUser> models) { var response = new BaseResponse <ComplexRoleOfUser>(); AspNetUserRole userRole; try { foreach (var model in models) { userRole = new AspNetUserRole(); userRole.RoleId = model.RoleId; userRole.Grant = model.Grant; userRole.UserId = model.UserId; _aspNetUserRolesRepository.Add(userRole); try { _applicationLoggingRepository.Log("EVENT", "ADD", "AspNetGroupRoles", model.RoleId + "," + model.UserId, "", "", model, "", System.Web.HttpContext.Current.Request.UserHostAddress, model.CreatedBy); } catch { } } } catch (Exception ex) { response.IsSuccess = false; response.Message = "Error: " + ex.Message + " StackTrace: " + ex.StackTrace; } response.IsSuccess = true; return(response); }
public BaseResponse <AspNetUserRole> AddUserRole(AspNetUserRole model) { BaseResponse <AspNetUserRole> result = new BaseResponse <AspNetUserRole>(); result.Value = _aspNetUserRolesRepository.Add(model); return(result); }
public static void SendEmail(AspNetUserRole item, string urlLink) { const string lineBreak = "<br>"; const string qoute = "\""; var applicationNameConfig = new ApplicationNameConfig(); var message = new MailMessage { Subject = $"{applicationNameConfig.Value} Permission" }; var emailStyleConfig = new EmailStyleConfig(); var style = emailStyleConfig.Value; if (string.IsNullOrWhiteSpace(item.OldRoleName)) //added { message.Body = $"<p style={qoute}{style}{qoute}>" + $"Dear {item.UserName},{lineBreak}{lineBreak}" + $"The administrator has granted you the role <b>{item.RoleName}</b>.{lineBreak}{lineBreak}" + $"Click <a href='{urlLink}'>here</a> to login.{lineBreak}{lineBreak}" + $"Thank you for registering.{lineBreak}{lineBreak}{lineBreak}" + "This is an automated message. Do not reply." + "</p>"; } else //edited { message.Body = $"<p style={qoute}{style}{qoute}>" + $"Dear {item.UserName},{lineBreak}{lineBreak}" + $"The administrator has changed your role from <b>{item.OldRoleName}</b> to <b>{item.RoleName}</b>.{lineBreak}{lineBreak}" + $"Click <a href='{urlLink}'>here</a> to login.{lineBreak}{lineBreak}" + $"If this is not your expected 'role', please contact your TeanderSearch Administrator.{lineBreak}{lineBreak}" + $"Thank you.{lineBreak}{lineBreak}{lineBreak}" + "This is an automated message. Do not reply." + "</p>"; } message.To.Add(new MailAddress(item.Email)); //Todo uncomment after debugging. SendEmail(message); }
public ActionResult EditUserRole(AspNetUserRole userRole) { ent.Entry(userRole).State = System.Data.Entity.EntityState.Modified; ent.SaveChanges(); return(RedirectToAction("DisplayUsers")); }
private List <ManageUsersViewModel> sortUsers(string role) { List <AspNetUser> users = (List <AspNetUser>)_unitOfWork._userRepository.GetAll(); List <ManageUsersViewModel> model = new List <ManageUsersViewModel>(); for (int i = 0; i < users.Count; i++) { ManageUsersViewModel u = new ManageUsersViewModel(); AspNetUser user = users[i]; AspNetUserRole userRole = _unitOfWork._userRoleRepository.Get(users[i].Id); string roleId = userRole.RoleId; string roleName = _unitOfWork._roleRepository.Get(roleId).Name; if (roleName.Equals(role) || role.Equals("All")) { u.User = user; u.Role = roleName; u.IsChecked = false; model.Add(u); } } return(model); }
public Task AddToRoleAsync(TUser user, string roleName) { if (user == null) { throw new ArgumentNullException("user"); } if (string.IsNullOrEmpty(roleName)) { throw new ArgumentNullException("roleName"); } var role = _userService.GetRoleByName(roleName); if (role == null) { throw new ArgumentException(String.Format("roleName: '{0}' not found", roleName)); } var userRole = new AspNetUserRole() { UserId = user.Id, RoleId = role.Id }; _userService.AddUserToRole(userRole); return(Task.FromResult <object>(null)); }
public void UpdateUser_Test() { SeedData(); using (var context = new AppDbContext(ContextOptions)) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <AspNetUser, User>(); }); IMapper mapper = new Mapper(config); UserRepository userRepository = new UserRepository(context, mapper); var user = context.AspNetUsers.Include(i => i.AspNetUserRoles).FirstOrDefault(e => e.UserName == "*****@*****.**"); var role = context.AspNetRoles.FirstOrDefault(e => e.Name == "Development"); user.UserName = "******"; AspNetUserRole userRole = new AspNetUserRole { UserId = user.Id, RoleId = role.Id }; user.AspNetUserRoles.Add(userRole); var result1 = userRepository.UpdateUser(user); var result2 = userRepository.GetUserById(user.Id); Assert.Equal("*****@*****.**", result1.UserName); var result3 = result1.AspNetUserRoles.FirstOrDefault(e => e.RoleId == role.Id); Assert.Equal(role.Id, result3.RoleId); Assert.Equal(user.Id, result3.UserId); } }
public async Task <IActionResult> Edit(string id, [Bind("UserId,RoleId")] AspNetUserRole aspNetUserRole) { if (id != aspNetUserRole.UserId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(aspNetUserRole); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AspNetUserRoleExists(aspNetUserRole.UserId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["RoleId"] = new SelectList(_context.AspNetRoles, "Id", "Id", aspNetUserRole.RoleId); ViewData["UserId"] = new SelectList(_context.AspNetUsers, "Id", "Id", aspNetUserRole.UserId); return(View(aspNetUserRole)); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; AspNetUserRole log = new AspNetUserRole(); var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { UserManager.AddToRole(user.Id, "Student"); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); //await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public AdminEditViewModel GetViewModel(string id) { AspNetUser user = db.AspNetUsers.Where(uid => uid.Id.Equals(id)).FirstOrDefault(); UserProfile profile = db.UserProfiles.Where(uid => uid.UserID.Equals(id)).FirstOrDefault(); AspNetUserRole userRole = db.AspNetUserRoles.Where(role => role.UserId.Equals(id)).FirstOrDefault(); AdminEditViewModel viewModel = new AdminEditViewModel(); List <AspNetRole> roleList = db.AspNetRoles.ToList(); List <string> roles = new List <string>(); foreach (var role in roleList) { roles.Add(role.Name); } viewModel.EmailConfirmed = user.EmailConfirmed; viewModel.NameFirst = profile.StudentProfile.FirstName; viewModel.NameMiddle = profile.StudentProfile.MiddleName; viewModel.NameLast = profile.StudentProfile.LastName; viewModel.Program = user.UserPrograms.FirstOrDefault().Program.ProgramID; viewModel.StudentID = profile.StudentProfile.StudentID; viewModel.UserID = id; viewModel.Year = user.UserPrograms.FirstOrDefault().Year; viewModel.UserRole = userRole.AspNetRole.Name; viewModel.Roles = roles; return(viewModel); }
public ActionResult ModifyUserAccountType(AspNetUserRole userRole) { try { entities.Entry(userRole).State = System.Data.Entity.EntityState.Modified; entities.SaveChanges(); // Audit Trail string userId = User.Identity.GetUserId(); new AuditTrailer().Record("Modified a user role.", AuditTrailer.ACCOUNT_TYPE, userId); //AuditTrailer.Record("Modified the role of " + currentUser.UserName + " to " + currentUser.AspNetUserRoles.FirstOrDefault().AspNetRole.Name +".", AuditTrailer.ACCOUNT_TYPE, userId); TempData["alert-type"] = "alert-success"; TempData["alert-header"] = "Success"; TempData["alert-msg"] = "Account configured and account type modified."; return(RedirectToAction("ModifyAccount")); } catch (Exception e) { TempData["alert-type"] = "alert-danger"; TempData["alert-header"] = "Error"; TempData["alert-msg"] = "Unable to configure account, please try again later, " + e.Message.ToString(); return(RedirectToAction("ModifyAccount")); } }
public async Task <ActionResult> CreateNonStudent(RegisterViewModel model, string role) { //error handling if (!ModelState.IsValid) { return(View(model)); } var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); //create user profile AspNetUser netUser = db.AspNetUsers.Where(tuser => tuser.Email.Equals(model.Email)).FirstOrDefault(); // Assign user role AspNetRole netRole = db.AspNetRoles.Where(trole => trole.Name.Equals(role)).SingleOrDefault(); AspNetUserRole userRole = new AspNetUserRole(); userRole.AspNetRole = netRole; userRole.AspNetUser = netUser; userRole.RoleId = netRole.Id; userRole.UserId = netUser.Id; db.AspNetUserRoles.Add(userRole); db.SaveChanges(); return(RedirectToAction("Accounts", "Admin", new { role = role })); }
public ActionResult AddRole(string userID, FormCollection form) { var roleID = Request["RoleID"]; var roleManager = db.AspNetRoles.ToList(); var user = db.AspNetUsers.ToList().Find(u => u.Id == userID); var userView = new UserView { UserName = user.UserName, ADName = user.ADName, UserID = user.Id, }; if (string.IsNullOrEmpty(roleID)) { ViewBag.Error = "You must select a role"; var list = db.AspNetRoles.ToList(); list = list.OrderBy(r => r.Name).ToList(); ViewBag.RoleID = new SelectList(list, "Id", "Name"); return(View(userView)); } if (ModelState.IsValid) { AspNetUserRole aspNetUserRole = new AspNetUserRole { RoleId = roleID, UserId = user.Id, }; db.AspNetUserRoles.Add(aspNetUserRole); db.SaveChanges(); } var rolesView = new List <RoleView>(); foreach (var item in user.AspNetUserRoles) { var role = roleManager.Find(r => r.Id == item.RoleId); var roleView = new RoleView { RoleID = role.Id, Name = role.Name }; rolesView.Add(roleView); } userView = new UserView { UserName = user.UserName, ADName = user.ADName, UserID = user.Id, Roles = rolesView, }; return(View("Roles", userView)); }
/// <summary> /// 创建角色 /// </summary> /// <param name="serviceProvider"></param> private static async Task CreateRoles(IServiceProvider serviceProvider, AppDbContext context) { var configuration = serviceProvider.GetService <IConfiguration>(); var roles = RoleHelper.GetBuiltInRoles(); var existRoles = context.Roles.ToList(); if (roles.Count > existRoles.Count) { foreach (var role in roles) { if (!existRoles.Any(x => x.Name == role.Name)) { role.CreateTime = DateTime.UtcNow; role.LastUpdate = role.CreateTime; context.Roles.Add(role); } } await context.SaveChangesAsync(); } var uid = 0; var userName = configuration["AdminAccount:UserName"]; if (context.Users.Count(x => x.UserName == userName) == 0) { var poweruser = new AspNetUser { UserName = userName, PasswordHash = Hash.GetMd5(configuration["AdminAccount:Password"]), CreateTime = DateTime.UtcNow, LastUpdate = DateTime.UtcNow, AuthorityId = Guid.NewGuid().ToString("N") }; context.Users.Add(poweruser); await context.SaveChangesAsync(); uid = poweruser.Id; } else { uid = context.Users.Single(x => x.UserName == userName).Id; } var b = (await context.QueryNumberBySqlAsync($"SELECT COUNT(b.Id) FROM AspNetRole a,AspNetUserRole b WHERE a.Id=b.RoleId AND b.UserId={uid} AND a.Name='{nameof(RoleTypes.Admin)}'")) == 0; if (b) { var userrole = new AspNetUserRole() { RoleId = context.Roles.Single(x => x.Name == nameof(RoleTypes.Admin)).Id, UserId = uid, CreateTime = DateTime.UtcNow }; context.UserRoles.Add(userrole); await context.SaveChangesAsync(); } }
// GET: AspNetUserRoles/Create public IActionResult Create(string userId) { AspNetUserRole aspNetUserRole = new AspNetUserRole(); aspNetUserRole.UserId = userId; ViewData["RoleId"] = new SelectList(_context.AspNetRoles.OrderBy(r => r.Name), "Id", "Name"); return(View(aspNetUserRole)); }
public ActionResult DeleteConfirmed(string id) { AspNetUserRole UserRole = db.AspNetUserRoles.Where(ur => ur.UserId == id).FirstOrDefault(); db.AspNetUserRoles.Remove(UserRole); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(string id) { AspNetUserRole aspNetUserRole = db.AspNetUserRoles.Find(id); db.AspNetUserRoles.Remove(aspNetUserRole); db.SaveChanges(); return(RedirectToAction("Index")); }
//Сохранение ролей пользователей #region SaveRole public ActionResult SaveRole(string[] selectRole, string UserId, string Surname, string Name, string LastName, string Phone, string ZamId, string Signature) { //Сначала удаляем все роли у пользователя if (UserId != null) { foreach (var remove in db.AspNetUserRoles.Where(u => u.UserId == UserId)) { AspNetUserRole role = db.AspNetUserRoles.Find(remove.UserId); db.AspNetUserRoles.Remove(role); } db.SaveChanges(); if (selectRole != null) { AspNetUserRole AspNetUserRoles = new AspNetUserRole(); //далее добавляем отмеченные роли foreach (var role in selectRole) { AspNetUserRoles.UserId = UserId; AspNetUserRoles.RoleId = role.ToString(); db.AspNetUserRoles.Add(AspNetUserRoles); db.SaveChanges(); } } var usermanager = dba.Users.Find(UserId); usermanager.Surneme = Surname; usermanager.Name = Name; usermanager.LastName = LastName; usermanager.PhoneNumber = Phone; usermanager.Signature = String.IsNullOrWhiteSpace(Signature) ?"": usermanager.Signature = Signature; usermanager.ZamID = ZamId != "0" ? ZamId : null; usermanager.ZamLogin = ZamId != "0" ? dba.Users.Find(ZamId).Login : null; if (ModelState.IsValid) { dba.Entry(usermanager).State = EntityState.Modified; dba.SaveChanges(); } var signature = db.Signatures.Where(s => s.Sig == Signature).FirstOrDefault(); if (signature == null && Signature != "") { Signature Signatures = new Signature(); Signatures.Sig = Signature; db.Signatures.Add(Signatures); db.SaveChanges(); return(Json("Ok")); } return(Json("Ok")); } else { return(Json("Выбереите пользователя!")); } }
public async Task <ActionResult> DeleteConfirmed(int id) { AspNetUserRole aspNetUserRole = await db.AspNetUserRoles.FindAsync(id); db.AspNetUserRoles.Remove(aspNetUserRole); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(string id, string RoleId) { AspNetUser aspNetUser = userAppManager.FindUser(id); AspNetUserRole aspNetUserRole = userAppManager.FindAllUserRole().Single(a => a.UserId == aspNetUser.Id); userAppManager.DeleteUserRole(aspNetUserRole); userAppManager.DeleteUser(aspNetUser); return(RedirectToAction("Index")); }
public bool Insert(AspNetUserRole item) { try { using (var uow = _unitOfWorkFactory.Create()) { uow.AspNetUserRole.Insert(item); uow.SaveChanges(); return(true); } } catch { return(false); } }
public static void PhanQuyen(string us) { var db = new SmartShopConnectionDB(); var user = db.SingleOrDefault <viewUser>("SELECT * FROM viewUser where UserName=@0", us); AspNetUserRole pq = new AspNetUserRole(); pq.RoleId = "12629e90-6c15-424b-abaa-164250682d15"; pq.UserId = user.UserId; db.Insert("AspNetUserRoles", pq); }
public ActionResult AddUserToRole(string userName, string roleName) { AspNetUser user = context.AspNetUsers .Where(u => u.UserName == userName).FirstOrDefault(); AspNetRole role = context.AspNetRoles .Where(r => r.Name == roleName).FirstOrDefault(); AspNetUserRole userRole = new AspNetUserRole(); userRole.UserId = user.Id; userRole.RoleId = role.Id; context.AspNetUserRoles.Add(userRole); //user.AspNetRoles.Add(role); context.SaveChanges(); return View(); }