public Boolean isAdminUser() { //if user is Authenticated (logged in) if (User.Identity.IsAuthenticated) { //create a variable user with data from the users identity var user = User.Identity; //create a new instance of the Dbcontext ApplicationDbContext context = new ApplicationDbContext(); //give variable UserManager data from the user var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); //get the role of the current user var s = UserManager.GetRoles(user.GetUserId()); //check to see if the current role is Admin if (s[0].ToString() == "Admin") { //return true; ViewBag.admin = true; } else { //return false; ViewBag.admin = false; } } return false; }
public ActionResult ChangeRoleOfUserInGroup(string mail) { //SKapa VM instans UserChangeRoleViewModel changeVM = new UserChangeRoleViewModel(); var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext())); var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); //Välj en user till Viewmodell //ViewBag.Name = changeVM.Name; changeVM.Users = repo.ApplicationUsers().Select(u => new SelectListItem { Text = u.UserName, Value = u.Id, }); //ApplicationUser usr = repo.ApplicationUsers().First(); //Välj vilken av users roll som skall ändras //List<IdentityRole> cVM = new List<IdentityRole>(); changeVM.SelectedUser = repo.ApplicationUsers().Single(m => m.Email == mail).Id; changeVM.OldRoles = userManager.GetRoles(changeVM.SelectedUser).Select(o => new SelectListItem { Text = o, Value = o }); //Välj en ny roll till Viewmodell changeVM.Roles = repo.RolesList().Select(r => new SelectListItem { Text = r.Name, Value = r.Name }); //Returna View med VM return View(changeVM); }
public ActionResult Search(string tb_SearchBox) { List<List<string>> userRoleList = new List<List<string>>(); if (string.IsNullOrEmpty(tb_SearchBox)) { tb_SearchBox = ""; } var results = (from contact in db.ContactProfiles where contact.FirstName.Contains(tb_SearchBox) || contact.LastName.Contains(tb_SearchBox) || contact.AlternateEmail.Contains(tb_SearchBox) || contact.PrimaryEmail.Contains(tb_SearchBox) select contact).OrderByDescending(m=>m.LastName).ToList(); foreach (var item in results) { UserManager<ApplicationUser> _userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); ApplicationUser user = context.Users.Where(u => u.UserName.Equals(item.PrimaryEmail, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); List<string>roleList = _userManager.GetRoles(user.Id).ToList(); userRoleList.Add(roleList); } userRoleList.Reverse(); ViewBag.Roles = userRoleList; return View("Index", results); }
//Get Index page public ActionResult Index() { var userRoles = new List<RolesViewModel>(); var userStore = new UserStore<ApplicationUser>(context); var userManager = new UserManager<ApplicationUser>(userStore); //Get all the usernames foreach (var user in userStore.Users) { var r = new RolesViewModel { UserName = user.UserName }; userRoles.Add(r); } //Get all the Roles for our users foreach (var user in userRoles) { user.RoleNames = userManager.GetRoles(userStore.Users.First(s => s.UserName == user.UserName).Id); if (user.RoleNames.Contains("Default")) { TempData["ValidationMessageIcon"] = "1"; } } return View(db.Indices.ToList()); }
public ActionResult DeleteRoleForUser(string UserName, string RoleName) { if (ModelState.IsValid) { var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); ApplicationUser user = context.Users.Where(u => u.UserName.Equals(UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); ViewBag.Token = "2"; if (userManager.IsInRole(user.Id, RoleName)) { userManager.RemoveFromRole(user.Id, RoleName); ViewBag.ResultMessage = "Role removed from this user successfully !"; } else { ViewBag.ResultMessage = "This user doesn't belong to selected role."; } // prepopulat roles for the view dropdown var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList(); ViewBag.Roles = list; var userList = context.Users.OrderBy(r => r.Email).ToList().Select(rr => new SelectListItem { Value = rr.Email.ToString(), Text = rr.Email }).ToList(); ViewBag.userNames = userList; ViewBag.RolesForThisUser = userManager.GetRoles(user.Id); } return View("ManageUserRoles"); }
public ActionResult Index() { var userRoles = new List<RolesViewModel>(); var userStore = new UserStore<ApplicationUser>(context); var userManager = new UserManager<ApplicationUser>(userStore); //Get all the usernames foreach (var user in userStore.Users) { var r = new RolesViewModel { UserName = user.UserName }; userRoles.Add(r); } //Get all the Roles for our users var numberOfDefault = 0; foreach (var user in userRoles) { user.RoleNames = userManager.GetRoles(userStore.Users.First(s => s.UserName == user.UserName).Id); if(user.RoleNames.Contains("Default")) { numberOfDefault++; TempData["ValidationMessageDefaultUser"] = numberOfDefault + " " + "New User(s) Have Registered"; TempData["ValidationMessageIcon"] = "1"; } } return View(userRoles); }
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { IEnumerable<string> userNameHeaderValues = null; if (request.Headers.TryGetValues(KawalDesaHeaders.X_KD_USERID, out userNameHeaderValues)) { if (!IsValidEmissRequest(request)) { var response = request.CreateErrorResponse(HttpStatusCode.BadRequest, "Not a Valid Request"); return Task.FromResult<HttpResponseMessage>(response); } IEnumerable<String> expireHeaderValues = null; if (request.Headers.TryGetValues(KawalDesaHeaders.X_KD_EXPIRES, out expireHeaderValues)) { if (IsExpiredRequest(expireHeaderValues.FirstOrDefault())) { var response = request.CreateErrorResponse(HttpStatusCode.BadRequest, "Your Request Has Expired"); return Task.FromResult<HttpResponseMessage>(response); } } var userName = userNameHeaderValues.First(); var userManager = new UserManager<User>(new CUserStore<User>(new DB())); var user = userManager.FindByName(userName); if (user != null) { string signature = CryptographyHelper.Sign(request, user.SecretKey); if (signature.Equals(request.Headers.GetValues(KawalDesaHeaders.X_KD_SIGNATURE).FirstOrDefault())) { var identity = new KawalDesaIdentity(user, "Emiss"); var principal = new GenericPrincipal(identity, userManager.GetRoles(user.Id).ToArray()); Thread.CurrentPrincipal = principal; if (HttpContext.Current != null) { HttpContext.Current.User = principal; } } } } else if (HttpContext.Current.Session != null && !String.IsNullOrEmpty((string)HttpContext.Current.Session[KawalDesaController.USERID_KEY])) { var session = HttpContext.Current.Session; var userManager = new UserManager<User>(new CUserStore<User>(new DB())); var user = userManager.FindById((string)session[KawalDesaController.USERID_KEY]); if (user != null) { var identity = new KawalDesaIdentity(user, "Session"); var principal = new GenericPrincipal(identity, userManager.GetRoles(user.Id).ToArray()); Thread.CurrentPrincipal = principal; if (HttpContext.Current != null) { HttpContext.Current.User = principal; } } } return base.SendAsync(request, cancellationToken); }
private static void SetupRolesAndUsers(DbContext context) { var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); // add roles if (!roleManager.RoleExists(Role.Guest.ToString())) roleManager.Create(new IdentityRole(Role.Guest.ToString())); if (!roleManager.RoleExists(Role.Supplier.ToString())) roleManager.Create(new IdentityRole(Role.Supplier.ToString())); if (!roleManager.RoleExists(Role.Deactivated.ToString())) roleManager.Create(new IdentityRole(Role.Deactivated.ToString())); if (!roleManager.RoleExists(Role.User.ToString())) roleManager.Create(new IdentityRole(Role.User.ToString())); var adminRole = roleManager.FindByName(Role.Admin.ToString()); if (adminRole == null) { adminRole = new IdentityRole(Role.Admin.ToString()); roleManager.Create(adminRole); } #if DEBUG //add admin user var admin = userManager.Find(Admin_User, Admin_Pass); if (admin == null) { admin = new ApplicationUser { UserName = Admin_User, Email = Admin_Mail, EmailConfirmed = true }; var result = userManager.Create(admin, Admin_Pass); // TODO: verify returned IdentityResult userManager.AddToRole(admin.Id, Role.Admin.ToString()); result = userManager.SetLockoutEnabled(admin.Id, false); } var rolesForUser = userManager.GetRoles(admin.Id); if (!rolesForUser.Contains(adminRole.Name)) { var result = userManager.AddToRole(admin.Id, adminRole.Name); } //add normal user if (userManager.Find("*****@*****.**", "1q2w3e4r") == null) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true }; userManager.Create(user, "1q2w3e4r"); // TODO: verify returned IdentityResult userManager.AddToRole(user.Id, Role.User.ToString()); } #endif }
public static void AddUsertoRole(UserManager<ApplicationUser> userManager, ApplicationUser user, string roleName) { var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains(roleName)) { var result = userManager.AddToRole(user.Id, roleName); } }
public async Task<ActionResult> AssignRole(string username, string rolename) { UserStore<ApplicationUser> userStore = new UserStore<ApplicationUser>(_identityDb); UserManager<ApplicationUser> userManager = new UserManager<ApplicationUser>(userStore); var user = userManager.Users.FirstOrDefault(u => u.UserName == username); await Task.Run(() => userManager.RemoveFromRoles(user.Id, userManager.GetRoles(user.Id).ToArray())); //var role = roles.FirstOrDefault(r => r == rolename); //if(role == null) userManager.AddToRole(user.Id, rolename); return RedirectToAction("Users", "Admin"); }
public ActionResult AssignRole(AssignRoleViewModel vm) { using (var context = new ApplicationDbContext()) { var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); var role = _roleRepo.GetById(vm.RoleID); manager.AddToRole(vm.UserID, role.Name); vm.Roles = manager.GetRoles(vm.UserID); vm.User = _repo.GetById(vm.UserID); } ViewBag.RoleID = new SelectList(_roleRepo.Get(), "Id", "Name", vm.RoleID); return View(vm); }
public static List<UserRolesInfo> GetUserRolesInfo(this IQueryable<ApplicationUser> applicationUsers, int count, UserManager<ApplicationUser> userManager) { return applicationUsers .OrderBy(u => u.UserName) .Take(count).ToList() .Select(user => new UserRolesInfo { UserId = user.Id, UserName = user.UserName, UserVisibleName = user.VisibleName, Roles = userManager.GetRoles(user.Id).ToList() }).ToList(); }
public ActionResult AssignRole(string id) { AssignRoleViewModel vm = new AssignRoleViewModel(); using (var context = new ApplicationDbContext()) { var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); vm.Roles = manager.GetRoles(id); vm.UserID = id; vm.User = _repo.GetById(id); } ViewBag.RoleID = new SelectList(_roleRepo.Get(), "Id", "Name"); return View(vm); }
public static void DefaultUser(ApplicationDbContext db) { var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db)); var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(db)); var name = AppConfig.DefaultUser; var pwd = AppConfig.DefaultUserPassword; const string adminRole = "Admin"; const string dashboardRole = "Dashboard"; const string investigateRole = "Investigate"; //Create Role Admin if it does not exist var ar = roleManager.FindByName(adminRole); if (ar == null) { ar = new IdentityRole(adminRole); var roleresult = roleManager.Create(ar); } var dr = roleManager.FindByName(dashboardRole); if (dr == null) { dr = new IdentityRole(dashboardRole); var roleresult = roleManager.Create(dr); } var ir = roleManager.FindByName(investigateRole); if (ir == null) { ir = new IdentityRole(investigateRole); var roleresult = roleManager.Create(ir); } var user = userManager.FindByName(name); if (user == null) { user = new ApplicationUser { UserName = name, Email = name, EmailConfirmed = true }; var createUser = userManager.Create(user, pwd); createUser = userManager.SetLockoutEnabled(user.Id, false); } // Add user admin to Role Admin if not already added var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains("Admin")) { var result = userManager.AddToRole(user.Id, "Admin"); } }
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { using (var db = new DB()) { IEnumerable<string> authorizationHeaderValues = null; if (request.Headers.TryGetValues("Authorization", out authorizationHeaderValues)) { try { var auth = authorizationHeaderValues.First().Split(null)[1]; var token = JsonWebToken.Decode(auth, ConfigurationManager.AppSettings["Auth.SecretKey"]); var userManager = new UserManager<User>(new CUserStore<User>(db)); var user = userManager.FindById(token.UserId); if (user != null) { var identity = new KawalDesaIdentity(user, "exAuth"); var principal = new GenericPrincipal(identity, userManager.GetRoles(user.Id).ToArray()); Thread.CurrentPrincipal = principal; if (HttpContext.Current != null) { HttpContext.Current.User = principal; } } } catch (Exception e) { LogManager.GetLogger(typeof(AuthorizationHandler)).Error("Auth error", e); } } else if (HttpContext.Current.Session != null && !String.IsNullOrEmpty((string)HttpContext.Current.Session[KawalDesaController.USERID_KEY])) { var session = HttpContext.Current.Session; var userManager = new UserManager<User>(new CUserStore<User>(db)); var user = userManager.FindById((string)session[KawalDesaController.USERID_KEY]); if (user != null) { var identity = new KawalDesaIdentity(user, "Session"); var principal = new GenericPrincipal(identity, userManager.GetRoles(user.Id).ToArray()); Thread.CurrentPrincipal = principal; if (HttpContext.Current != null) { HttpContext.Current.User = principal; } } } return base.SendAsync(request, cancellationToken); } }
//select available modeule public ActionResult SelectModuleIndex(string UserID) { ApplicationDbContext context = new ApplicationDbContext(); DisplayManagerRoleDelete ObjRole = new DisplayManagerRoleDelete(); ModuleSelectVM ObjS = new ModuleSelectVM(); var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); ObjS.AllRoles = userManager.GetRoles(UserID); var LoggedUserID = User.Identity.GetUserId(); ObjS.BuildingUser = db.BuildingUser.Where(c => c.UserID == LoggedUserID).FirstOrDefault(); return View(ObjS); }
public ActionResult GetRoles(string UserName) { if (!string.IsNullOrWhiteSpace(UserName)) { ApplicationUser user = context.Users.Where(u => u.UserName.Equals(UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); ViewBag.RolesForThisUser = userManager.GetRoles(user.Id); // prepopulat roles for the view dropdown var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList(); var schemeList = db.Schemes.Select(m => new { Value = m.Name, Text = m.Name }).Distinct().ToList(); ViewBag.Roles = list; var listUsers = context.Users.OrderBy(r => r.UserName).ToList().Select(rr => new SelectListItem { Value = rr.UserName.ToString(), Text = rr.UserName }).ToList(); ViewBag.Users = listUsers; ViewBag.SchemeList = new MultiSelectList(schemeList, "Value", "Text"); } return View("Index"); }
/// <summary> /// Displays available tasks/links /// </summary> /// <returns>Json response</returns> public ActionResult Diagram() { DiagramAdapter DAdapter = new DiagramAdapter(); JsonResult json = new JsonResult(); IList<string> roles = new List<string>(); EmployeeViewModel employee = null; IEnumerable<TaskWFM> gottenTasks = null; using (WorkFlowService wfs = new WorkFlowService("WorkFlowDbConnection")) { using (UserManager<ApplicationUser> userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()))) { ApplicationUser user = userManager.FindByName(User.Identity.Name); if (user != null) { roles = userManager.GetRoles(user.Id); EmployeeWFM employeeWMF = wfs.GetEmployeeByIdentityID(user.Id); employee = DataMapperView.DoMapping<EmployeeWFM, EmployeeViewModel>(employeeWMF); } } if (roles.Contains("admin") || roles.Contains("manager") || employee != null) { if (roles.Contains("admin") || roles.Contains("manager")) { gottenTasks = wfs.GetAllTasks(); } else { gottenTasks = wfs.GetEmployeeTasks(employee.HolderCode); } List<TaskViewModel> viewTasks = new ViewModelConverter().CreateTaskRange(gottenTasks); IEnumerable<LinkWFM> gottenLinks = wfs.GetAllLinks(); List<LinkViewModel> viewLinks = new ViewModelConverter().CreateLinkRange(gottenLinks); json = DAdapter.CreateJson(viewTasks, viewLinks); } else { return View(json); } } return View(json); }
internal static void DefaultUser(ApplicationDbContext ctx) { var userManager = new UserManager<User>(new UserStore<User>(ctx)); var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(ctx)); var adminUser = AppConfig.DefaultAdminAccount; var adminPassword = AppConfig.DefaultAdminAccountPassword; const string roleName = "Admin"; var role = roleManager.FindByName(roleName); if (role == null) { role = new IdentityRole(roleName); var createRoleResult = roleManager.Create(role); } var user = userManager.FindByName(adminUser); if (user == null) { user = new User { UserName = adminUser, Email = adminUser, LockoutEnabled = false, EmailConfirmed = true, UserProfile = new UserProfile() { Title = "N/A", Forename = "System", Surname = "Administrator", Alias = "Sysadmin", JobTitle = "Administrator" } }; var createUserResult = userManager.Create(user, adminPassword); createUserResult = userManager.SetLockoutEnabled(user.Id, false); } var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains(role.Name)) { var addUserToRoleResult = userManager.AddToRole(user.Id, role.Name); } }
public IHttpActionResult RemoveAdminFromUser(string username) { var user = this.Data.Users.All().ToList().FirstOrDefault(u => u.UserName == username); var um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); string adminCheck = um.GetRoles(user.Id).FirstOrDefault(a => a.Contains("AppAdmin")); if (adminCheck == string.Empty) { return this.BadRequest(string.Format("user {0} is not admin", user.UserName)); } um.RemoveFromRoleAsync(user.Id, "AppAdmin"); this.Data.SaveChanges(); return this.Ok(string.Format("user: {0} is not admin now", user.UserName)); }
public ActionResult GetRoles(string UserName) { if (!string.IsNullOrWhiteSpace(UserName)) { UserManager<ApplicationUser> _userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); ApplicationUser user = context.Users.Where(u => u.UserName.Equals(UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); var account = new AccountController(); ViewBag.RolesForThisUser = _userManager.GetRoles(user.Id); // prepopulat roles for the view dropdown var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList(); var userlist = context.Users.OrderBy(r => r.UserName).ToList().Select(rr => new SelectListItem { Value = rr.UserName.ToString(), Text = rr.UserName }).ToList(); ViewBag.Roles = list; ViewBag.Users = userlist; } return View("Index"); }
public ActionResult GetRoles(GetRolesViewModel model) { if(ModelState.IsValid) { var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); ApplicationUser user = context.Users.Where(u => u.UserName.Equals(model.UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); ViewBag.RolesForThisUser = userManager.GetRoles(user.Id); // prepopulat roles for the view dropdown var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList(); ViewBag.Roles = list; var userList = context.Users.OrderBy(r => r.Email).ToList().Select(rr=> new SelectListItem { Value = rr.Email.ToString(), Text = rr.Email }).ToList(); ViewBag.userNames = userList; } return View("ManageUserRoles"); }
protected void BtnLogin_Click(object sender, EventArgs e) { if (IsValid) { // Validate the user password var manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>(); var signinManager = Context.GetOwinContext().GetUserManager <ApplicationSignInManager>(); ApplicationDbContext context = new ApplicationDbContext(); var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context)); // This doen't count login failures towards account lockout // To enable password failures to trigger lockout, change to shouldLockout: true var result = signinManager.PasswordSignIn(EmailInput.Text, PasswordInput.Text, RememberMe.Checked, shouldLockout: false); switch (result) { case SignInStatus.Success: try { ApplicationUser ExistingUser = context.Users.Where(u => u.Email.Equals(EmailInput.Text, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); var rol = userManager.GetRoles(ExistingUser.Id); Session["Role_Usuario"] = rol[0]; Session["User"] = ExistingUser; Session["Id_Participante"] = 0; Session["NombreParticipante"] = ""; if (userManager.IsInRole(ExistingUser.Id, "SuperAdmin") || userManager.IsInRole(ExistingUser.Id, "Recepcion")) { Response.Redirect("~/Entrada"); } else if (userManager.IsInRole(ExistingUser.Id, "TrabajadorSocial") || userManager.IsInRole(ExistingUser.Id, "CoordinadorCharlas")) { Response.Redirect("~/Entrada"); } else { IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } } catch (Exception) { throw; } break; case SignInStatus.LockedOut: Response.Redirect("/Account/Lockout"); break; case SignInStatus.RequiresVerification: Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn?ReturnUrl={0}&RememberMe={1}", Request.QueryString["ReturnUrl"], RememberMe.Checked), true); break; case SignInStatus.Failure: default: FailureText.Text = "Invalid login attempt"; ErrorMessage.Visible = true; break; } } }
public ActionResult Edit(string id) { ApplicationDbContext db = new ApplicationDbContext(); if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } var u_manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db)); string role_name = u_manager.GetRoles(id).FirstOrDefault() == null ? "" : u_manager.GetRoles(id).FirstOrDefault(); ApplicationUser applicationUser = db.Users.Find(id); EditViewModel appUser = new EditViewModel(); appUser.ContactNo = applicationUser.PhoneNumber; appUser.Email = applicationUser.Email; appUser.FirstName = DataHelper.ToPascalConvention(applicationUser.FirstName); appUser.LastName = DataHelper.ToPascalConvention(applicationUser.LastName); appUser.Password = applicationUser.Password; appUser.RoleName = role_name; appUser.UserId = applicationUser.Id; appUser.ConfirmPassword = applicationUser.Password; appUser.selectedProduct = DBHandler.getUserProductsByUserId(applicationUser.Id); appUser.Products = DBHandler.GetProducts(); appUser.RoleId = db.Roles.Where(r => r.Name.ToLower() == role_name.ToLower()).First().Id; ViewBag.RoleId = new SelectList(db.Roles, "Id", "Name", appUser.RoleId); if (appUser == null) { return HttpNotFound(); } return View(appUser); }
protected string getCurrentRole(object id) { var userStore = new UserStore<IdentityUser>(); var userManager = new UserManager<IdentityUser>(userStore); return userManager.GetRoles(id.ToString()).First(); }
/// <summary> /// Get user role. /// </summary> /// <param name="userId">to fetch userRole for specific user.</param> /// <returns>user role as string.</returns> public string GetUserRole(string userId) { string userRole = _userManager.GetRoles(userId).ToList().First(); return(userRole); }
protected override void Seed(Workflow.DataAccess.WorkflowDbContext context) { var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new WorkflowDbContext())); userManager.UserValidator = new UserValidator <ApplicationUser>(userManager) { AllowOnlyAlphanumericUserNames = false }; var roleManager = new RoleManager <ApplicationRole>(new RoleStore <ApplicationRole>(new WorkflowDbContext())); string name = "*****@*****.**"; string password = "******"; string firstName = "Admin"; string roleName = "Admin"; var role = roleManager.FindByName(roleName); if (role == null) { role = new ApplicationRole(roleName); var roleResult = roleManager.Create(role); } var user = userManager.FindByName(name); if (user == null) { user = new ApplicationUser { UserName = name, Email = name, FirstName = firstName }; var result = userManager.Create(user, password); result = userManager.SetLockoutEnabled(user.Id, false); } var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains(role.Name)) { var result = userManager.AddToRole(user.Id, role.Name); } string accountNumber = "ABC123"; context.Customers.AddOrUpdate( c => c.AccountNumber, new Customer { AccountNumber = accountNumber, CompanyName = "IT Best Company", Address = "Marsza³kowska 13", City = "Warsaw", State = "Mazowieckie", ZipCode = "02140" }); context.SaveChanges(); Customer customer = context.Customers.First(c => c.AccountNumber == accountNumber); string description = "First work order"; context.WorkOrders.AddOrUpdate( wo => wo.Description, new WorkOrder { Description = description, CustomerId = customer.Id, WorkOrderStatus = WorkOrderStatus.Created }); context.SaveChanges(); WorkOrder workOrder = context.WorkOrders.First(wo => wo.Description == description); context.Parts.AddOrUpdate( p => p.InventoryItemCode, new Part { InventoryItemCode = "THING1", InventoryItemName = "Thing Number One", Quantity = 1, UnitPrice = 1.23m, WorkOrderId = workOrder.Id }); context.Labors.AddOrUpdate( l => l.ServiceItemCode, new Labor { ServiceItemCode = "INSTALL", ServiceItemName = "Installation", LaborHours = 9.87m, Rate = 35.75m, WorkOrderId = workOrder.Id }); string categoryName = "Devices"; context.Categories.AddOrUpdate( c => c.Name, new Category { Name = categoryName }); context.SaveChanges(); Category category = context.Categories.First(c => c.Name == categoryName); context.InventoryItems.AddOrUpdate( ii => ii.Code, new InventoryItem { Code = "THING2", Name = "A Second Kind of Thing", UnitPrice = 3.33m, CategoryId = category.Id }); context.ServiceItems.AddOrUpdate( si => si.Code, new ServiceItem { Code = "CLEAN", Name = "General Cleaning", Rate = 23.50m }); }
public string AllRoles() { var manager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); return(string.Join(", ", manager.GetRoles(User.Identity.GetUserId()))); }
/* * CREATED: E. Lautner APR 1 2018 * MODIFIED: C. Stanhope APR 14 2018 * - changed validation to match the account_add validation * * ModifyUser_Click() * Gathers all given information on the page about the selected account. Sends this information to the userManager so that the account can be updated. * * PARAMETERS: * object sender - references the object that raised the Page_Load event * EventArgs e - optional class that may be passed that inherits from EventArgs (usually empty) * * RETURNS: * void * * ODEV METHOD CALLS: * MessageUserControl.ShowSuccessMessage() * MessageUserControl.ShowErrorMessage() * UserManager.ModifyAccount() * UserManager.GetRoles() */ protected void ModifyUser_Click(object sender, EventArgs e) { { sentUserName = Request.QueryString["id"]; if (sentUserName == "" || sentUserName == null) { MessageUserControl.ShowErrorMessage("An account has not been selected. Please navigate back to the Account Search page and select an account. If error persists, please contact your administrator."); } else { //Retrieve the values from the controls string firstNameText = FirstNameTB.Text.Trim(); string lastNameText = LastNameTB.Text.Trim(); string emailText = EmailTB.Text.Trim(); string authLevelText = AuthorizationLevelRolesRadioList.SelectedValue; int careSiteID = int.Parse(CareSiteDDL.Visible == false ? "0" : CareSiteDDL.SelectedValue); List <string> errorList = new List <string>(); bool isValid = true; #region check if any inputs are blank if (string.IsNullOrWhiteSpace(firstNameText)) { errorList.Add("First Name"); isValid = false; } if (string.IsNullOrWhiteSpace(lastNameText)) { errorList.Add("Last Name"); isValid = false; } if (string.IsNullOrWhiteSpace(emailText)) { errorList.Add("Email"); isValid = false; } if (string.IsNullOrWhiteSpace(authLevelText)) { errorList.Add("Authorization Level"); isValid = false; } #endregion if (!isValid) { ErrorMessagesAndValidation errMessAndVal = new ErrorMessagesAndValidation(); string errorMessage = errMessAndVal.ErrorList(errorList); MessageUserControl.ShowInfoMessage(errorMessage); } else { if (!emailText.Contains("@")) { MessageUserControl.ShowInfoMessage("Email must include an '@' symbol."); } else { if (System.Text.RegularExpressions.Regex.IsMatch(FirstNameTB.Text, @"^(?m)[A-Za-z][A-Za-z`. -]*$") && System.Text.RegularExpressions.Regex.IsMatch(LastNameTB.Text, @"^(?m)[A-Za-z][A-Za-z`. -]*$")) { if (int.Parse(CareSiteDDL.SelectedValue) == 0 && AuthorizationLevelRolesRadioList.SelectedValue == AuthorizationLevelRoles.User) { MessageUserControl.ShowInfoMessage("Authorization Level: User, must be associated with a care site"); } else { try { UserManager userManager = new UserManager(); var selectedUser = userManager.FindByName(UsernameLabel.Text); var userRoles = userManager.GetRoles(selectedUser.Id); string userRole = string.Join("", userRoles.ToArray()); string newUserName = userManager.ModifyAccount(UsernameLabel.Text, FirstNameTB.Text.Trim(), LastNameTB.Text.Trim(), EmailTB.Text.Trim(), int.Parse(CareSiteDDL.SelectedValue), userRole, AuthorizationLevelRolesRadioList.SelectedValue); if (newUserName != UsernameLabel.Text) { string resultMessage = string.Format("Update successful, new UserName is {0} ", newUserName); MessageUserControl.ShowSuccessMessage(resultMessage); UsernameLabel.Text = newUserName; } else { string resultMessage = string.Format("Update successful for user: {0}", UsernameLabel.Text); MessageUserControl.ShowSuccessMessage(resultMessage); } } catch (Exception ex) { MessageUserControl.ShowErrorMessage("Update Failed. Please try again. If error persists, please contact your administrator. Error Message: " + ex.Message); } } } else { MessageUserControl.ShowInfoMessage("First Name and Last Name can only contain letters, dashes, apostrophes, grave accents, spaces and periods."); } } } } } }
protected override void Seed(ApplicationDbContext context) { var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); userManager.UserValidator = new UserValidator <ApplicationUser>(userManager) { AllowOnlyAlphanumericUserNames = false }; var roleManager = new RoleManager <ApplicationRole>(new RoleStore <ApplicationRole>(new ApplicationDbContext())); string name = "*****@*****.**"; string password = "******"; string firstName = "Admin"; string roleName = "Admin"; var role = roleManager.FindByName(roleName); if (role == null) { role = new ApplicationRole(roleName); var roleResult = roleManager.Create(role); } var user = userManager.FindByName(name); if (user == null) { user = new ApplicationUser { UserName = name, Email = name, FirstName = firstName }; var result = userManager.Create(user, password); result = userManager.SetLockoutEnabled(user.Id, false); } var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains(role.Name)) { var result = userManager.AddToRole(user.Id, role.Name); } /////////////////////////////////////////////////// string categoryName = "Housing"; context.Categories.AddOrUpdate( c => c.CategoryName, new Category { CategoryName = categoryName }); context.SaveChanges(); Category category = context.Categories.First(c => c.CategoryName == categoryName); context.Categories.AddOrUpdate( c => c.CategoryName, new Category { CategoryName = "Furniture", ParentCategoryId = category.Id }, new Category { CategoryName = "Fixtures", ParentCategoryId = category.Id }, new Category { CategoryName = "Building Materials", ParentCategoryId = category.Id } ); categoryName = "Learning Materials"; context.Categories.AddOrUpdate( c => c.CategoryName, new Category { CategoryName = categoryName }); context.SaveChanges(); category = context.Categories.First(c => c.CategoryName == categoryName); context.Categories.AddOrUpdate( c => c.CategoryName, new Category { CategoryName = "Books", ParentCategoryId = category.Id }, new Category { CategoryName = "Supplies", ParentCategoryId = category.Id } ); context.Categories.AddOrUpdate( c => c.CategoryName, new Category { CategoryName = "Food and Water" }); context.SaveChanges(); category = context.Categories.First(c => c.CategoryName == "Housing"); context.InventoryItems.AddOrUpdate( ii => ii.InventoryItemName, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "CLASSROOM", InventoryItemName = "Pre-Fabricated Classroom", UnitPrice = 10000m } ); category = context.Categories.First(c => c.CategoryName == "Fixtures"); context.InventoryItems.AddOrUpdate( ii => ii.InventoryItemName, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "WHITEBOARD", InventoryItemName = "Whiteboard", UnitPrice = 324.50m }, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "ARMOR", InventoryItemName = "Armor Plating Kit", UnitPrice = 1225m } ); category = context.Categories.First(c => c.CategoryName == "Building Materials"); context.InventoryItems.AddOrUpdate( ii => ii.InventoryItemName, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "CONCRETE", InventoryItemName = "Concrete, 50 lbs.", UnitPrice = 12.05m }, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "REBAR", InventoryItemName = "Rebar", UnitPrice = 3.50m } ); category = context.Categories.First(c => c.CategoryName == "Furniture"); context.InventoryItems.AddOrUpdate( ii => ii.InventoryItemName, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "STUDENTDESK", InventoryItemName = "Student Desk", UnitPrice = 18.75m }, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "TEACHERDESK", InventoryItemName = "Teacher Desk", UnitPrice = 60m }, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "CHAIR", InventoryItemName = "Chair", UnitPrice = 9.65m } ); category = context.Categories.First(c => c.CategoryName == "Books"); context.InventoryItems.AddOrUpdate( ii => ii.InventoryItemName, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "SCIENCETEXT", InventoryItemName = "Science Textbook", UnitPrice = 30.25m }, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "ARTTEXT", InventoryItemName = "Art History Textbook", UnitPrice = 41m }, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "POETRYTEXT", InventoryItemName = "Greatest Poems of All Time", UnitPrice = 15.95m } ); category = context.Categories.First(c => c.CategoryName == "Supplies"); context.InventoryItems.AddOrUpdate( ii => ii.InventoryItemName, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "STUDENTSUP", InventoryItemName = "Student School Supplies Kit", UnitPrice = 12m }, new InventoryItem { CategoryId = category.Id, InventoryItemCode = "TEACHERSUP", InventoryItemName = "Teacher School Supplies Kit", UnitPrice = 35m } ); context.ServiceItems.AddOrUpdate( si => si.ServiceItemName, new ServiceItem { ServiceItemCode = "FORMANDPOUR", ServiceItemName = "Form and Pour Foundation", Rate = 35.50m }, new ServiceItem { ServiceItemCode = "ERECTPREFAB", ServiceItemName = "Erect Pre-Fabricated Classroom", Rate = 47m }, new ServiceItem { ServiceItemCode = "DIGWELL", ServiceItemName = "Dig Well and Install Hand Pump", Rate = 30m }, new ServiceItem { ServiceItemCode = "INSTALLARMOR", ServiceItemName = "Install Armor Plating", Rate = 63.75m } ); context.Customers.AddOrUpdate( cu => cu.AccountNumber, new Customer { AccountNumber = "GSTEMS", CompanyName = "Girls STEM School", Address = "35 Achievement Way", City = "Detroit", State = "MI", ZipCode = "48223", Phone = "123-456-7890" }, new Customer { AccountNumber = "YWLS", CompanyName = "Young Women's Literary Society", Address = "1523 Aruna Lane", City = "Milwaukee", State = "WI", ZipCode = "53202", Phone = "234-567-8901" }, new Customer { AccountNumber = "TRS", CompanyName = "The Roosevelt School", Address = "731 Kramer Street", City = "Philadelphia", State = "PA", ZipCode = "19115", Phone = "345-678-9012" } ); }
public static void InitializeIdentityForEF(SleepWellContext context) { var userManager = new UserManager <User>(new UserStore <User>(context)); var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); //var userManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>(); //var roleManager = HttpContext.Current.GetOwinContext().Get<ApplicationRoleManager>(); var user_a = userManager.FindByName("*****@*****.**"); if (user_a == null) { user_a = new User { UserName = "******", Email = "*****@*****.**" }; var result = userManager.Create(user_a, "P@ssword"); result = userManager.SetLockoutEnabled(user_a.Id, false); } var user_m = userManager.FindByName("*****@*****.**"); if (user_m == null) { user_m = new User { UserName = "******", Email = "*****@*****.**" }; var result = userManager.Create(user_m, "P@ssword"); result = userManager.SetLockoutEnabled(user_m.Id, false); } var user_r = userManager.FindByName("*****@*****.**"); if (user_r == null) { user_r = new User { UserName = "******", Email = "*****@*****.**" }; var result = userManager.Create(user_r, "P@ssword"); result = userManager.SetLockoutEnabled(user_r.Id, false); } //tworzenie roli użytkowników var role_a = roleManager.FindByName("Admin"); if (role_a == null) { var roleresult = roleManager.Create(new IdentityRole("Admin")); } var role_m = roleManager.FindByName("Manager"); if (role_m == null) { var roleresult = roleManager.Create(new IdentityRole("Manager")); } var role_r = roleManager.FindByName("Receptionist"); if (role_r == null) { var roleresult = roleManager.Create(new IdentityRole("Receptionist")); } //var user = userManager.FindByName(name); //if (user == null) //{ // user = new ApplicationUser { UserName = name, Email = name }; // var result = userManager.Create(user, password); // result = userManager.SetLockoutEnabled(user.Id, false); //} // Add user admin to Role Admin if not already added var rolesForUser_a = userManager.GetRoles(user_a.Id); var rolesForUser_m = userManager.GetRoles(user_m.Id); var rolesForUser_r = userManager.GetRoles(user_r.Id); if (!rolesForUser_a.Contains(role_a.Name)) { var result = userManager.AddToRole(user_a.Id, role_a.Name); } if (!rolesForUser_m.Contains(role_m.Name)) { var result = userManager.AddToRole(user_m.Id, role_m.Name); } if (!rolesForUser_r.Contains(role_r.Name)) { var result = userManager.AddToRole(user_r.Id, role_r.Name); } }
//Create [email protected] with password=Admin@123456 in the Admin role public static void InitializeIdentity(ClaimRequestDbContext db) { var userManager = new UserManager <Staff>(new UserStore <Staff>(db)); var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db)); //const string name = "*****@*****.**"; //const string roleName = "Admin"; const string password = "******"; var departmentDemo = db.Departments.FirstOrDefault(); string[] roles = new string[] { "Administrator", "Finance", "Approver", "Claimer" }; //Create Role Admin if it does not exist foreach (var item in roles) { var role = roleManager.FindByName(item); if (role == null) { role = new IdentityRole(item); var roleResult = roleManager.Create(role); } } var admins = new[] { new { name = "vutv1_admin", email = "*****@*****.**" }, new { name = "vutv2_admin", email = "*****@*****.**" }, new { name = "vutv3_admin", email = "*****@*****.**" } }; var finances = new[] { new { name = "vutv1_finance", email = "*****@*****.**" }, new { name = "vutv2_finance", email = "*****@*****.**" }, new { name = "vutv3_finance", email = "*****@*****.**" } }; var appovers = new[] { new { name = "vutv1_appover", email = "*****@*****.**" }, new { name = "vutv2_appover", email = "*****@*****.**" }, new { name = "vutv3_appover", email = "*****@*****.**" } }; var claimer = new[] { new { name = "vutv1_BA", email = "*****@*****.**", jobRank = (int)JobRank.BA }, new { name = "vutv2_BA", email = "*****@*****.**", jobRank = (int)JobRank.BA }, new { name = "vutv1_QA", email = "*****@*****.**", jobRank = (int)JobRank.QA }, new { name = "vutv2_QA", email = "*****@*****.**", jobRank = (int)JobRank.QA }, new { name = "vutv1_Develope", email = "*****@*****.**", jobRank = (int)JobRank.Developers }, new { name = "vutv2_Develope", email = "*****@*****.**", jobRank = (int)JobRank.Developers }, new { name = "vutv1_Tester", email = "*****@*****.**", jobRank = (int)JobRank.Testers }, new { name = "vutv2_Tester", email = "*****@*****.**", jobRank = (int)JobRank.Testers }, new { name = "vutv1_TechnicalConsultancy", email = "*****@*****.**", jobRank = (int)JobRank.TechnicalConsultancy }, new { name = "vutv2_TechnicalConsultancy", email = "*****@*****.**", jobRank = (int)JobRank.TechnicalConsultancy }, new { name = "vutv1_TechnicalLead", email = "*****@*****.**", jobRank = (int)JobRank.TechnicalLead }, new { name = "vutv2_TechnicalLead", email = "*****@*****.**", jobRank = (int)JobRank.TechnicalLead }, }; // add user with role admin foreach (var item in admins) { var user = userManager.FindByName(item.email); if (user == null) { user = new Staff { UserName = item.email, Email = item.email, StaffName = item.name, JobRank = (int)JobRank.None, Department = departmentDemo, Salary = 500000 }; var result = userManager.Create(user, password); result = userManager.SetLockoutEnabled(user.Id, false); } // Add user admin to Role Admin if not already added var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains("Administrator")) { var result = userManager.AddToRole(user.Id, "Administrator"); } } //add user with role finance foreach (var item in finances) { var user = userManager.FindByName(item.email); if (user == null) { user = new Staff { UserName = item.email, Email = item.email, StaffName = item.name, JobRank = (int)JobRank.None, Department = departmentDemo, Salary = 20000000 }; var result = userManager.Create(user, password); result = userManager.SetLockoutEnabled(user.Id, false); } //add user finance to role finance if not added var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains("Finance")) { var result = userManager.AddToRole(user.Id, "Finance"); } } //add user with role approver foreach (var item in appovers) { var user = userManager.FindByName(item.email); if (user == null) { user = new Staff { UserName = item.email, Email = item.email, StaffName = item.name, JobRank = (int)JobRank.PM, Department = departmentDemo, Salary = 20000000 }; var result = userManager.Create(user, password); result = userManager.SetLockoutEnabled(user.Id, false); } //add user approver to role approver if not added var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains("Approver")) { var result = userManager.AddToRole(user.Id, "Approver"); } } //add claimer with role claimer foreach (var item in claimer) { var user = userManager.FindByName(item.email); if (user == null) { user = new Staff { UserName = item.email, Email = item.email, StaffName = item.name, JobRank = item.jobRank, Department = departmentDemo, Salary = 20000000 }; var result = userManager.Create(user, password); result = userManager.SetLockoutEnabled(user.Id, false); } //add user claimer to role claimer if not added var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains("Claimer")) { var result = userManager.AddToRole(user.Id, "Claimer"); } } }
public IList <string> ListUserRoles(string userId) { return(userManager.GetRoles(userId)); }
/* * CREATED: E. Lautner APR 1 2018 * * Page_Load() * Run on page load and is used to display the selected accounts details * * PARAMETERS: * object sender - references the object that raised the Page_Load event * EventArgs e - optional class that may be passed that inherits from EventArgs (usually empty) * * RETURNS: * void * * ODEV METHOD CALLS: * MessageUserControl.ShowErrorMessage() * UserManager.FindByName() * UserManager.GetRoles() */ protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { if (AuthorizationLevelRolesRadioList.SelectedValue == AuthorizationLevelRoles.User) { CareSiteDDL.Visible = true; CareSiteLabel.Visible = true; } else { CareSiteDDL.Visible = false; CareSiteLabel.Visible = false; } } else { try { sentUserName = Request.QueryString["id"]; if (sentUserName == "administratoraccount") //can't modify webmaster { Response.Redirect("~/Management/accounts"); } else { if (sentUserName == null) { Response.Redirect("~/Management/accounts"); } else { UsernameLabel.Text = sentUserName; UserManager userManager = new UserManager(); var selectedUser = userManager.FindByName(sentUserName); if (selectedUser == null) { Response.Redirect("~/Management/accounts"); } if (selectedUser.activeyn == true) { PasswordBtn.Visible = true; DeactivateAccountButton.Visible = true; UpdateAccountButton.Visible = true; FirstNameTB.Enabled = true; LastNameTB.Enabled = true; EmailTB.Enabled = true; AuthorizationLevelRolesRadioList.Enabled = true; CareSiteDDL.Enabled = true; if (selectedUser.Id == Context.User.Identity.GetUserId()) { DeactivateAccountButton.Visible = false; AuthorizationLevelRolesRadioList.Enabled = false; } } else { PasswordBtn.Visible = false; DeactivateAccountButton.Visible = false; UpdateAccountButton.Visible = false; FirstNameTB.Enabled = false; LastNameTB.Enabled = false; EmailTB.Enabled = false; AuthorizationLevelRolesRadioList.Enabled = false; CareSiteDDL.Enabled = false; } var userRoles = userManager.GetRoles(selectedUser.Id); string userRole = string.Join("", userRoles.ToArray()); FirstNameTB.Text = selectedUser.firstname; LastNameTB.Text = selectedUser.lastname; EmailTB.Text = selectedUser.Email; CareSiteDDL.SelectedValue = selectedUser.caresiteid.ToString(); if (selectedUser.caresiteid == null) { CareSiteDDL.SelectedValue = "0"; } AuthorizationLevelRolesRadioList.SelectedValue = userRole; if (userRole == AuthorizationLevelRoles.Administrator || userRole == AuthorizationLevelRoles.Super_User) { CareSiteDDL.Visible = false; CareSiteLabel.Visible = false; } } } } catch (Exception ex) { MessageUserControl.ShowErrorMessage("Retrieving account information from the database failed. Please try again. If error persists, please contact your administrator.", ex); } } }
// GET: User public ActionResult Search(string userName, string roleName, int status, int page = 1) { int pageSize = int.Parse(ConfigHelper.GetKey("PageSize")); var query = UserManager.Users; var predicate = PredicateBuilder.True <ApplicationUser>(); if (status != 2) { var isStatus = PredicateBuilder.False <ApplicationUser>(); isStatus = isStatus.Or(a => (a.Active ? 1 : 0) == status); predicate = predicate.And(isStatus); } if (!string.IsNullOrEmpty(userName)) { var IsUserName = PredicateBuilder.False <ApplicationUser>(); IsUserName = IsUserName.Or(a => a.UserName.Contains(userName.Trim())); predicate = predicate.And(IsUserName); } if (roleName != "All") { var addUser = PredicateBuilder.False <ApplicationUser>(); foreach (var user in query.ToList()) { if (UserManager.IsInRole(user.Id, roleName)) { addUser = addUser.Or(a => a.Id == user.Id); } } predicate = predicate.And(addUser); } query = query.Where(predicate); int totalRow = query.Count(); query = query.OrderBy(x => x.CreatedAt).Skip((page - 1) * pageSize).Take(pageSize); var userViewModel = Mapper.Map <IEnumerable <ApplicationUser>, IEnumerable <UserViewModel> >(query); var roles = new List <string>(); foreach (var user in userViewModel) { string roleStr = ""; foreach (var role in UserManager.GetRoles(user.Id)) { roleStr = (roleStr == "") ? role.ToString() : roleStr + " - " + role.ToString(); } user.Role = new RoleViewModel(); user.Role.Name = roleStr; } int totalPage = (int)Math.Ceiling((double)totalRow / pageSize); //get all Role var rolesModel = RoleManager.Roles.ToList(); ViewBag.roleViewModel = Mapper.Map <IEnumerable <ApplicationRole>, IEnumerable <RoleViewModel> >(rolesModel); ViewBag.UserName = userName; var paginationSet = new PaginationSet <UserViewModel>() { Items = userViewModel, MaxPage = int.Parse(ConfigHelper.GetKey("MaxSize")), Page = page, TotalCount = totalRow, TotalPages = totalPage }; ViewBag.query = new { userName = userName, roleName = roleName, status = status, page = page }; return(View("Index", paginationSet)); }
public IEnumerable<UserViewModel> UserViewModelsByGroupId(int? id) { List<UserViewModel> viewModels = new List<UserViewModel>(); Group group = db.Groups.Single(d => d.Id == id); Department dep = db.Departments.Single(d => d.Id == group.DepartmentId); var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); ICollection<ApplicationUser> users = db.Groups.Single(u => u.Id == id).Users; //IList<string> UserRoles = userManager.GetRoles(user.Id); foreach (ApplicationUser user in users.ToList()) { if (users.Count > 0) { IList<string> UserRoles = userManager.GetRoles(user.Id); if (UserRoles.Count == 0) { if (user.Adress != null) { viewModels.Add(new UserViewModel { City = user.Adress.City, Email = user.Email, Number = user.PhoneNumber, Street = user.Adress.Street, StreetNumber = user.Adress.StreetNumber, ZipCode = user.Adress.ZipCode, DepartmentId = group.DepartmentId, DName = dep.Name, UserRole = "" }); } else { viewModels.Add(new UserViewModel { Email = user.Email, Number = user.PhoneNumber, DepartmentId = group.DepartmentId, DName = dep.Name, UserRole = "" }); } } foreach (string role in UserRoles) { if (user.Adress != null) { viewModels.Add(new UserViewModel { City = user.Adress.City, Email = user.Email, Number = user.PhoneNumber, Street = user.Adress.Street, StreetNumber = user.Adress.StreetNumber, ZipCode = user.Adress.ZipCode, DepartmentId = group.DepartmentId, DName = dep.Name, UserRole = role }); } else { viewModels.Add(new UserViewModel { Email = user.Email, Number = user.PhoneNumber, DepartmentId = group.DepartmentId, DName = dep.Name, UserRole = role }); } } } else { viewModels.Add(new UserViewModel { Email = user.Email, Number = user.PhoneNumber, DepartmentId = group.DepartmentId, UserRole = "" }); } } return viewModels; }
// GET: Users public ActionResult Index(string currentFilter, int? page, string searchString = "") { IQueryable<AspNetUser> userList = null; int pageNumber = page ?? 1; if (searchString != null) { page = 1; } else { searchString = currentFilter; searchString = string.Empty; } ViewBag.CurrentFilter = searchString; userList = _repo.Get(d => d.UserName.ToLower().Contains(searchString.ToLower()), d => d.UserName); var q = userList.ToPagedList(pageNumber, QuizApp.Web.Helpers.Constants.PageSize); var account = new AccountController(_repo); using (var context = new ApplicationDbContext()) { var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); foreach (var itm in q) { string userName = itm.UserName; itm.RoleNames = manager.GetRoles(itm.Id); } } return View(q); }
//创建用户名为[email protected],密码为“admin123”并把该用户添加到角色组"Admin"中 public static void InitializeIdentityForEF(ApplicationDbContext db) { var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var roleManager = new RoleManager <ApplicationRole>(new RoleStore <ApplicationRole>(db)); string name1 = "*****@*****.**"; //用户名 string email1 = "*****@*****.**"; //邮箱 string password1 = "admin123"; //密码 string roleName1 = "Administrators"; //用户要添加到的角色组 string name2 = "*****@*****.**"; //用户名 string email2 = "*****@*****.**"; //邮箱 string password2 = "123456"; //密码 string roleName2 = "Users"; var department1 = new Department { Name = "Marketing" }; //机构 var department2 = new Department { Name = "Accounting" }; //如果没有Admin用户组则创建该组 var role1 = roleManager.FindByName(roleName1); if (role1 == null) { role1 = new ApplicationRole() { Name = roleName1, Description = roleName1 }; var roleresult = roleManager.Create(role1); } var role2 = roleManager.FindByName(roleName2); if (role2 == null) { role2 = new ApplicationRole() { Name = roleName2, Description = roleName2 }; var roleresult = roleManager.Create(role2); } //如果没有[email protected]用户则创建该用户 var user1 = userManager.FindByName(name1); if (user1 == null) { user1 = new ApplicationUser { UserName = name1, Email = email1, ChineseName = "管理员", HeaderPhoto = "/Content/Images/SampleAvatar.gif" }; var result = userManager.Create(user1, password1); // result = userManager.SetLockoutEnabled(user1.Id, false); } var user2 = userManager.FindByName(name2); if (user2 == null) { user2 = new ApplicationUser { UserName = name2, Email = email2, ChineseName = "用户", HeaderPhoto = "/Content/Images/SampleAvatar.gif" }; userManager.Create(user2, password2); //result = userManager.SetLockoutEnabled(user2.Id, false); } // 把用户[email protected]添加到用户组Admin中 var rolesForUser1 = userManager.GetRoles(user1.Id); if (!rolesForUser1.Contains(role1.Name)) { userManager.AddToRole(user1.Id, role1.Name); } //var rolesForUser2 = userManager.GetRoles(user2.Id); //if (!rolesForUser2.Contains(role2.Name)) //{ // var result = userManager.AddToRole(user2.Id, role2.Name); //} //添加机构 var depart1 = db.Departments.FirstOrDefault(t => t.Name == department1.Name); if (depart1 == null) { db.Departments.Add(department1); } var depart2 = db.Departments.FirstOrDefault(t => t.Name == department2.Name); if (depart2 == null) { db.Departments.Add(department2); } //保存 db.SaveChanges(); //用户添加到机构 db.Set <UserDepartment>().Add(new UserDepartment { DepartmentId = department1.Id, ApplicationUserId = user1.Id }); db.Set <UserDepartment>().Add(new UserDepartment { DepartmentId = department2.Id, ApplicationUserId = user2.Id }); db.SaveChanges(); }
public IList <string> UserRoles(string userId) { IList <string> roles = _userManager.GetRoles(userId); return(roles); }
public List <string> GetUserRoles(string id) { return(UserManager.GetRoles(id).ToList()); }
public ActionResult Profile() { AccountDetailViewModel model = new AccountDetailViewModel(); string currentUser = System.Web.HttpContext.Current.User.Identity.GetUserId(); if (string.IsNullOrEmpty(currentUser)) { return(RedirectToAction("Account", "Login")); } try { var userInfo = _identityStore.GetUserByID(currentUser); var _userRoles = UserManager.GetRoles(currentUser); if (_userRoles != null) { model.RolesList = _userRoles.ToList(); } model.Id = userInfo.Id; model.UserName = userInfo.UserName; model.PhoneNumber = userInfo.PhoneNumber; model.Email = userInfo.Email; model.CreatedDateUtc = userInfo.CreatedDateUtc; model.Avatar = userInfo.Avatar; } catch { } //Get newest activity try { int currentPage = 1; //Limit activity on once query. int pageSize = int.Parse(ConfigurationManager.AppSettings["Paging:PageSize"]); int total = 0; model.ActivityNews = _activityStore.GetActivityLogByUserId(currentUser, currentPage, pageSize); total = _activityStore.CountAllActivityLogByUserId(currentUser); model.ActivityPagingInfo = new PagingInfo { CurrentPage = currentPage, //PageNo = (int)(total / pageSize), PageNo = (total + pageSize - 1) / pageSize, PageSize = pageSize, Total = total }; if (model.ActivityNews != null && model.ActivityNews.Count > 0) { foreach (var record in model.ActivityNews) { //Calculate time record.FriendlyRelativeTime = DateTimeHelper.GetFriendlyRelativeTime(record.ActivityDate); } } } catch { } return(View(model)); }
public IList <string> GetUserRole(string userId) { return(_userManager.GetRoles(Guid.Parse(userId))); }
public ActionResult EditUser(UserRoleViewModel model) { var userMgr = new UserManager <AppUser>(new UserStore <AppUser>(context)); var roleMgr = new RoleManager <AppRole>(new RoleStore <AppRole>(context)); var findUser = userMgr.FindById(model.AppUser.Id); var user = userMgr.FindById(findUser.Id); var userRoles = userMgr.GetRoles(user.Id); if (string.IsNullOrWhiteSpace(model.AppUser.FirstName)) { ModelState.AddModelError("FirstName", "Please enter user first name"); } if (string.IsNullOrWhiteSpace(model.AppUser.LastName)) { ModelState.AddModelError("LastName", "Please enter user last name"); } if (string.IsNullOrWhiteSpace(model.AppUser.Email)) { ModelState.AddModelError("Email", "Please enter the email for the user"); } if (string.IsNullOrEmpty(model.RoleId)) { ModelState.AddModelError("Role", "Please select a role for the user."); } //if (string.IsNullOrWhiteSpace(model.Password) || string.IsNullOrWhiteSpace(model.ConfirmPassword)) //{ // ModelState.AddModelError("Password", "Please enter a password"); //} if (!string.IsNullOrEmpty(model.Password) && model.Password.Length < 6) { ModelState.AddModelError("Password", "Password length must be at least 6 characters long"); } if (model.ConfirmPassword != model.Password) { ModelState.AddModelError("ConfirmPassword", "Must have mmtching passwords"); } if (ModelState.IsValid) { userMgr.RemoveFromRoles(user.Id, userRoles.ToArray()); var matchingRole = roleMgr.Roles.Single(r => r.Id == model.RoleId); userMgr.AddToRole(user.Id, matchingRole.Name); _carDealer.EditUser(model); user.FirstName = model.AppUser.FirstName; user.LastName = model.AppUser.LastName; user.UserName = model.AppUser.UserName; user.Id = model.AppUser.Id; user.Email = model.AppUser.Email; userMgr.Update(user); return(RedirectToAction("Users")); } else { model.SetRoleItems(_carDealer.GetAllRoles()); return(View(model)); } }
public ActionResult UserList(string requestedSort = "UserName", string currentSortOrder = "") { var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var users = db.Users.AsNoTracking().ToList(); foreach (var user in users) { var role = userManager.GetRoles(user.Id).FirstOrDefault(); user.Role = role.ToString(); } /// start of sort-order logic string newSortOrder = currentSortOrder; if (newSortOrder.Contains(requestedSort)) { if (newSortOrder.Contains("_desc")) { newSortOrder = newSortOrder.Replace("_desc", ""); } else { newSortOrder += "_desc"; } } else { newSortOrder = requestedSort; } switch (newSortOrder) { case "UserName": // do some sorting users = users.OrderBy(user => user.UserName).ToList(); break; case "UserName_desc": users = users.OrderByDescending(user => user.UserName).ToList(); break; case "FirstName": // do some sorting users = users.OrderBy(user => user.FirstName).ToList(); break; case "FirstName_desc": users = users.OrderByDescending(user => user.FirstName).ToList(); break; case "LastName": // do some sorting users = users.OrderBy(user => user.LastName).ToList(); break; case "LastName_desc": users = users.OrderByDescending(user => user.LastName).ToList(); break; case "Role": // do some sorting users = users.OrderBy(user => user.Role).ToList(); break; case "Role_desc": users = users.OrderByDescending(user => user.Role).ToList(); break; default: // if it's not a recognized case (sort order) ViewBag.SortOrder = currentSortOrder; return(View(users)); } ViewBag.SortOrder = newSortOrder; return(View(users)); }
protected void grvUsers_RowUpdating(object sender, GridViewUpdateEventArgs e) { var row = grvUsers.Rows[e.RowIndex]; var id = grvUsers.DataKeys[e.RowIndex].Value.ToString(); var firstName = ((TextBox)row.FindControl("txtFirstName")).Text; var lastName = ((TextBox)row.FindControl("txtLastName")).Text; var email = ((TextBox)row.FindControl("txtEmail")).Text; var currentPassword = ((TextBox)row.FindControl("txtCurrentPassword")).Text; var newPassword = ((TextBox)row.FindControl("txtNewPassword")).Text; var role = ((DropDownList)row.FindControl("ddlRoleEdit")).Text; var jobClinic = ((DropDownList)row.FindControl("ddlJobClinicEdit")).Text; //TODO: Automatically edit RelationType (exept Writer) on files. var isActive = ((CheckBox)row.FindControl("chkIsActive")).Checked; var userStore = new UserStore<IdentityUser>(); var userManager = new UserManager<IdentityUser>(userStore); var user = userManager.FindById(id); if (user != null && ( userManager.FindById(SharedClass.CurrentUser).UserName == "Admin" || user.UserName != "Admin" )) { if (newPassword != "") { var result = userManager.ChangePassword(id, currentPassword, newPassword); } userManager.SetEmail(id, email); userManager.RemoveFromRoles(id, userManager.GetRoles(id).ToArray()); userManager.AddToRole(id, role); using (Medical_Clinic_Entities mc = new Medical_Clinic_Entities()) { BSI__Clinic_Employee employee = mc.BSI__Clinic_Employees.Where(o => o.Id == id).First(); employee.First_Name = firstName; employee.Last_Name = lastName; employee.Job_Clinic = jobClinic; employee.Is_Active = isActive; mc.SaveChanges(); } } grvUsers.EditIndex = -1; }
public virtual IList <string> GetRoles(int userId) { return(_userManager.GetRoles(userId)); }
//Not sure why you need parameterless this constructor? public CompanyController() { this.user = new Lazy <ApplicationUser>(() => UserManager.FindById(System.Web.HttpContext.Current.User.Identity.GetUserId())); this.userIsSysAdmin = new Lazy <bool>(() => UserManager.GetRoles(User.Id).Any(u => u == "Sys Admin")); }
public string GetRoleName(string userId) { var role = _userManager.GetRoles(userId).ToList(); return(role.FirstOrDefault()); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { try { if (ModelState.IsValid) { var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); if (result == SignInStatus.Success) { var userLoginInfo = db.Users.Where(m => m.UserName == model.Email && m.PasswordHash != null).FirstOrDefault(); //var context = new Models.ApplicationDbContext(); ApplicationUser user = db.Users.Where(u => u.UserName.Equals(userLoginInfo.UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); var userStore = new UserStore <ApplicationUser>(db); var userManager = new UserManager <ApplicationUser>(userStore); var roleName = userManager.GetRoles(user.Id); RoleCount = roleName.Count(); HttpCookie cookie = new HttpCookie("CookieAdminInfo"); cookie.Values["userName"] = userLoginInfo.UserName.ToString(); foreach (var rName in roleName) { cookie.Values["rolename"] = rName.ToString(); } if (!string.IsNullOrEmpty(userLoginInfo.UserName)) { var lCitizenInfo = pdb.LocalCitizenModels.Where(m => m.Email == userLoginInfo.Email).FirstOrDefault(); var foreignCitizenInfo = pdb.ForeignCitizenModels.Where(m => m.Email == userLoginInfo.Email & m.PassportNo != null).FirstOrDefault(); if (lCitizenInfo != null) { cookie.Values["nid"] = lCitizenInfo.NID.ToString(); cookie.Values["fullname"] = lCitizenInfo.CitizenName.ToString(); } else if (foreignCitizenInfo != null) { cookie.Values["passport"] = foreignCitizenInfo.PassportNo.ToString(); cookie.Values["fullname"] = foreignCitizenInfo.CitizenName.ToString(); } else { cookie.Values["userpic"] = "admin.jpg"; cookie.Values["userName"] = "******"; cookie.Values["nid"] = "19937911447000040"; } } cookie.Expires = DateTime.Now.AddHours(1); Response.Cookies.Add(cookie); int localTime = 0; var cookieLT = HttpContext.Request.Cookies["CookieNSI"]; if (cookieLT != null) { localTime = Convert.ToInt32(cookieLT.Value); } ConfigurationManager.AppSettings["localTime"] = localTime.ToString(); db.Entry(userLoginInfo).State = EntityState.Modified; db.SaveChanges(); return(RedirectToLocal(returnUrl)); } else { ModelState.AddModelError(string.Empty, "Invalid username or password."); } } } catch (Exception ex) { Console.Write(ex); } return(View(model)); //if (!ModelState.IsValid) //{ // return View(model); //} //// This doesn't count login failures towards account lockout //// To enable password failures to trigger account lockout, change to shouldLockout: true //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); //switch (result) //{ // case SignInStatus.Success: // return RedirectToLocal(returnUrl); // case SignInStatus.LockedOut: // return View("Lockout"); // case SignInStatus.RequiresVerification: // return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }); // case SignInStatus.Failure: // default: // ModelState.AddModelError("", "Invalid login attempt."); // return View(model); //} }
public ActionResult AjaxHandler(tblUserParamModel param) { var allResult = db.getUsers(string.IsNullOrEmpty(param.Donvi) ? "" : param.Donvi).ToList(); IEnumerable <getUsers_Result> filteredResult; //Check whether the companies should be filtered by keyword if (!string.IsNullOrEmpty(param.sSearch)) { //Optionally check whether the columns are searchable at all var Searchable_0 = Convert.ToBoolean(Request["bSearchable_0"]); var Searchable_2 = Convert.ToBoolean(Request["bSearchable_2"]); var Searchable_3 = Convert.ToBoolean(Request["bSearchable_3"]); var Searchable_4 = Convert.ToBoolean(Request["bSearchable_4"]); var Searchable_6 = Convert.ToBoolean(Request["bSearchable_6"]); int tmp = int.TryParse(param.sSearch, out tmp) ? tmp : 0; filteredResult = allResult .Where(c => Searchable_2 && c.HoTen.ToLower().Contains(param.sSearch.ToLower()) || Searchable_3 && c.TenDangNhap.ToLower().Contains(param.sSearch.ToLower()) || Searchable_4 && c.Email.ToLower().Contains(param.sSearch.ToLower()) || Searchable_6 && c.DonVi.ToLower().Contains(param.sSearch.ToLower()) || Searchable_0 && c.STT.Equals(tmp) ); } else { filteredResult = allResult; } var Sortable_0 = Convert.ToBoolean(Request["bSortable_0"]); var Sortable_2 = Convert.ToBoolean(Request["bSortable_2"]); var Sortable_3 = Convert.ToBoolean(Request["bSortable_3"]); var Sortable_4 = Convert.ToBoolean(Request["bSortable_4"]); var Sortable_6 = Convert.ToBoolean(Request["bSortable_6"]); var sortColumnIndex = Convert.ToInt64(Request["iSortCol_0"]); Func <getUsers_Result, string> orderingFunction = (c => sortColumnIndex == 2 && Sortable_2 ? c.HoTen : sortColumnIndex == 3 && Sortable_3 ? c.TenDangNhap : sortColumnIndex == 4 && Sortable_4 ? c.Email : sortColumnIndex == 6 && Sortable_6 ? c.DonVi : ""); Func <getUsers_Result, Int64> orderingFunction2 = (c => sortColumnIndex == 0 && Sortable_0 ? c.STT : 0); var sortDirection = Request["sSortDir_0"]; // asc or desc if (sortDirection == "asc") { filteredResult = filteredResult.OrderBy(orderingFunction).ThenBy(orderingFunction2); } else { filteredResult = filteredResult.OrderByDescending(orderingFunction).ThenByDescending(orderingFunction2); } var displayed = filteredResult.Skip(param.iDisplayStart).Take(param.iDisplayLength); var result = displayed.Select(c => new { col0 = c.STT, col1 = c.ID, col2 = c.HoTen, col3 = c.TenDangNhap, col4 = c.Email, col5 = ListToString(UserManager.GetRoles(c.ID).ToList()), col6 = c.DonVi }); return(Json(new { sEcho = param.sEcho, iTotalRecords = allResult.Count(), iTotalDisplayRecords = filteredResult.Count(), aaData = result }, JsonRequestBehavior.AllowGet)); }
// GET: Admin/Seguridad public ActionResult Index() { List<UserViewModel> usuarios = new List<UserViewModel>(); var users = UserManager.Users.ToList(); var roleStore = new RoleStore<IdentityRole>(context); var roleManager = new RoleManager<IdentityRole>(roleStore); var userStore = new UserStore<ApplicationUser>(context); var userManager = new UserManager<ApplicationUser>(userStore); foreach (ApplicationUser user in users) { var roles = userManager.GetRoles(user.Id); string persona; if (user.USER_PERSONA_ID != null) { persona = context.Personas.Find(user.USER_PERSONA_ID).PERSONA_NOMBRE_COMPLETO; } else { persona = ""; } usuarios.Add(new UserViewModel() { Id = user.Id, RoleName = string.Join(", ", roles), UserName = user.UserName, Email = user.Email, Persona = persona }); } ViewBag.error = Session["error"]; return View(usuarios.ToList()); }
public async Task <HttpResponseMessage> EditUserMobile() { try { var db = Global.DB; var root = HttpContext.Current.Server.MapPath("~/Media/"); var startingPosition = root.Length - 6; var editUserDto = new MobileUserDto(); var provider = new CustomMultipartFormDataStreamProvider(root); // Check if the request contains multipart/form-data. if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } StringBuilder sb = new StringBuilder(); // Holds the response body // Read the form data and return an async task. await Request.Content.ReadAsMultipartAsync(provider); // This illustrates how to get the form data. foreach (var key in provider.FormData.AllKeys) { foreach (var value in provider.FormData.GetValues(key)) { if (key.Equals("accessKey")) { if (!Global.CheckAccessKey(value)) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Global.Message_WrongAccessKey)); } } foreach (PropertyInfo propertyInfo in editUserDto.GetType().GetProperties()) { if (key.Equals(propertyInfo.Name)) { var propType = editUserDto.GetType().GetProperty(propertyInfo.Name).PropertyType; var converter = TypeDescriptor.GetConverter(propType); var convertedObject = converter.ConvertFromString(value); editUserDto.GetType().GetProperty(propertyInfo.Name).SetValue(editUserDto, convertedObject); } } } } // This illustrates how to get the file names for uploaded files. foreach (var file in provider.FileData) { var splitted = file.LocalFileName.Split('\\'); root += "UserPicture\\" + splitted[splitted.Length - 1]; try { if (File.Exists(root)) { File.Delete(root); } File.Move(file.LocalFileName, root); } catch (DirectoryNotFoundException) { new FileInfo(root).Directory.Create(); File.Move(file.LocalFileName, root); } FileInfo fileInfo = new FileInfo(file.LocalFileName); sb.Append(string.Format("{0}", root)); } var targetUser = db.Users.SingleOrDefault(x => x.Id == editUserDto.Id); targetUser.Name = editUserDto.Name; targetUser.PhoneNumber = editUserDto.PhoneNumber; targetUser.Address = editUserDto.Address; targetUser.Description = editUserDto.Description; targetUser.PIC = editUserDto.PIC; targetUser.Show = editUserDto.Show; targetUser.KeyFeatures = editUserDto.KeyFeatures; targetUser.CoverageArea = editUserDto.CoverageArea; targetUser.YearsOfExperience = editUserDto.YearsOfExperience; targetUser.Availability = editUserDto.Availability; targetUser.Styling = editUserDto.Styling; targetUser.Clipping = editUserDto.Styling; targetUser.TrainingYears = editUserDto.TrainingYears; targetUser.TrainingCourses = editUserDto.TrainingCourses; try { targetUser.TrainingStartDate = Global.ParseStringToDate(editUserDto.TrainingStartDate); } catch (FormatException) { } catch (ArgumentNullException) { } if (provider.FileData.Count() > 0) { targetUser.Picture = Global.GetServerPathFromAUploadPath(sb.ToString(), 3); } db.SaveChanges(); var um = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var roleUser = um.GetRoles(targetUser.Id).FirstOrDefault(); var User = Mapper.Map <ApplicationUser, MobileUserViewModel>(targetUser); User.Role = roleUser; return(Request.CreateResponse(HttpStatusCode.OK, new { User }, MediaTypeHeaderValue.Parse("application/json"))); } catch (NullReferenceException) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, Global.Message_ErrorMessage)); } catch (ArgumentOutOfRangeException) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Global.Message_ErrorMessage)); } catch (Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.ServiceUnavailable, Global.Message_ErrorMessage)); } }
public ICollection <string> ListRolesForUser(string UserId) { return(userManager.GetRoles(UserId)); }
public async Task <HttpResponseMessage> RegisterUserMobile() { try { var db = Global.DB; var root = HttpContext.Current.Server.MapPath("~/Media/"); var startingPosition = root.Length - 6; var newUserDto = new MobileUserDto(); var um = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var passwordHasher = new PasswordHasher(); var provider = new CustomMultipartFormDataStreamProvider(root); var roleStore = new RoleStore <IdentityRole>(db); var roleManager = new RoleManager <IdentityRole>(roleStore); // Check if the request contains multipart/form-data. if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } StringBuilder sb = new StringBuilder(); // Holds the response body // Read the form data and return an async task. await Request.Content.ReadAsMultipartAsync(provider); // This illustrates how to get the form data. foreach (var key in provider.FormData.AllKeys) { foreach (var value in provider.FormData.GetValues(key)) { if (key.Equals("accessKey")) { if (!Global.CheckAccessKey(value)) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Global.Message_WrongAccessKey)); } } foreach (PropertyInfo propertyInfo in newUserDto.GetType().GetProperties()) { if (key.Equals(propertyInfo.Name)) { var propType = newUserDto.GetType().GetProperty(propertyInfo.Name).PropertyType; var converter = TypeDescriptor.GetConverter(propType); var convertedObject = converter.ConvertFromString(value); newUserDto.GetType().GetProperty(propertyInfo.Name).SetValue(newUserDto, convertedObject); } } } } // This illustrates how to get the file names for uploaded files. foreach (var file in provider.FileData) { var splitted = file.LocalFileName.Split('\\'); root += "UserPicture\\" + splitted[splitted.Length - 1]; try { if (File.Exists(root)) { File.Delete(root); } File.Move(file.LocalFileName, root); } catch (DirectoryNotFoundException) { new FileInfo(root).Directory.Create(); File.Move(file.LocalFileName, root); } FileInfo fileInfo = new FileInfo(file.LocalFileName); sb.Append(string.Format("{0}", root)); } var pathUrl = provider.FileData.Count() == 0 ? null : Global.GetServerPathFromAUploadPath(sb.ToString(), 3); var user = new ApplicationUser { CreatedDate = DateTime.Now, PasswordHash = passwordHasher.HashPassword(newUserDto.Password), Name = newUserDto.Name, UserName = newUserDto.Email, Email = newUserDto.Email, PhoneNumber = newUserDto.PhoneNumber, Address = newUserDto.Address, Description = newUserDto.Description, Picture = pathUrl, PIC = newUserDto.PIC, KeyFeatures = newUserDto.KeyFeatures, CoverageArea = newUserDto.CoverageArea, YearsOfExperience = newUserDto.YearsOfExperience, Availability = newUserDto.Availability, Styling = newUserDto.Styling, Clipping = newUserDto.Styling, TrainingYears = newUserDto.TrainingYears, TrainingCourses = newUserDto.TrainingCourses }; try { user.TrainingStartDate = Global.ParseStringToDate(newUserDto.TrainingStartDate); } catch (FormatException) { } catch (ArgumentNullException) { } db.Users.Add(user); if (!roleManager.RoleExists(newUserDto.Role)) { roleManager.Create(new IdentityRole(newUserDto.Role)); } IdentityUserRole userRole = new IdentityUserRole(); userRole.UserId = user.Id; userRole.RoleId = roleManager.FindByName(newUserDto.Role).Id; db.UserRoles.Add(userRole); db.SaveChanges(); var getUser = db.Users.SingleOrDefault(item => item.Email == newUserDto.Email); var roleUser = um.GetRoles(getUser.Id).FirstOrDefault(); var User = Mapper.Map <ApplicationUser, MobileUserViewModel>(getUser); User.Role = roleUser; return(Request.CreateResponse(HttpStatusCode.OK, new { User }, MediaTypeHeaderValue.Parse("application/json"))); } catch (NullReferenceException) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, Global.Message_ErrorMessage)); } catch (ArgumentOutOfRangeException) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Global.Message_ErrorMessage)); } catch (DbEntityValidationException) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Request has invalid data!")); } }
public async Task <ActionResult> Setup() { string message = ""; string errorMessage = ""; if (UserManager.FindByName(Constants.AdminUserName) == null) { var user = new ApplicationUser() { UserName = Constants.AdminUserName }; var result = await UserManager.CreateAsync(user, Constants.AdminUserPassword); if (result.Succeeded) { message = "User Create successful.<br/> "; } else { errorMessage = "Setup failed <br/>"; } } else { errorMessage += "User already exists <br/>"; } if (RoleManager.FindByName(SiteUserRoles.Administrator) == null) { var role = new IdentityRole() { Name = SiteUserRoles.Administrator }; var result = RoleManager.Create(role); if (result.Succeeded) { message = message + " Role created. <br/>"; } } else { errorMessage += "Role already exists <br/>"; } if (RoleManager.FindByName(SiteUserRoles.Modaretor) == null) { var role = new IdentityRole() { Name = SiteUserRoles.Modaretor }; var result = RoleManager.Create(role); if (result.Succeeded) { message = message + " Role Moderator created. <br/>"; } } else { errorMessage += "Role Moderator already exists <br/>"; } if (RoleManager.FindByName(SiteUserRoles.Editor) == null) { var role = new IdentityRole() { Name = SiteUserRoles.Editor }; var result = RoleManager.Create(role); if (result.Succeeded) { message = message + " Role Editor created. <br/>"; } } else { errorMessage += "Role Editor already exists <br/>"; } if (RoleManager.FindByName(SiteUserRoles.Reader) == null) { var role = new IdentityRole() { Name = SiteUserRoles.Reader }; var result = RoleManager.Create(role); if (result.Succeeded) { message = message + " Role Reader created. <br/>"; } } else { errorMessage += "Role Reader already exists <br/>"; } var usr = UserManager.FindByName(Constants.AdminUserName); if (usr != null && UserManager.GetRoles(usr.Id).Count > 0) { errorMessage += "Role already assigned. <br/>"; } else { UserManager.AddToRole(usr.Id, SiteUserRoles.Administrator); message = message + " Role assigned. <br/>"; } ViewBag.ErrorMessage = errorMessage; ViewBag.Message = message; return(View()); }
public ActionResult List(string showoption) { AccListViewModel model = new AccListViewModel(); model.showoption = showoption; if (String.IsNullOrEmpty(showoption)) { model.userList = (from u in accountUnitOfWork.AspNetUserRepository.Get() select new AccUserItem { UserName = u.UserName, RoleName = UserManager.GetRoles(u.Id).AsEnumerable().Count() != 0 ? UserManager.GetRoles(u.Id).AsEnumerable().ElementAt(0) : "", IsActive = u.IsActive }).AsEnumerable(); } else if ("0".Equals(showoption)) { model.userList = (from u in accountUnitOfWork.AspNetUserRepository.Get() select new AccUserItem { UserName = u.UserName, RoleName = UserManager.GetRoles(u.Id).AsEnumerable().Count() != 0 ? UserManager.GetRoles(u.Id).AsEnumerable().ElementAt(0) : "", IsActive = u.IsActive }).Where(s => s.RoleName == "Staff" || s.RoleName == "Manager").AsEnumerable(); } else { model.userList = (from u in accountUnitOfWork.AspNetUserRepository.Get() select new AccUserItem { UserName = u.UserName, RoleName = UserManager.GetRoles(u.Id).AsEnumerable().Count() != 0 ? UserManager.GetRoles(u.Id).AsEnumerable().ElementAt(0) : "", IsActive = u.IsActive }).Where(s => s.RoleName == "Jobseeker" || s.RoleName == "Recruiter").AsEnumerable(); } return(View(model)); }
public IEnumerable<UserViewModel> UserViewModelsApplicants() { List<UserViewModel> viewModels = new List<UserViewModel>(); var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); foreach (ApplicationUser user in db.Users.ToList()) { if (db.Users.ToList().Count > 0) { IList<string> UserRoles = userManager.GetRoles(user.Id); if (UserRoles.Count == 0) { if (user.Adress != null) { viewModels.Add(new UserViewModel { City = user.Adress.City, Email = user.Email, Number = user.PhoneNumber, Street = user.Adress.Street, StreetNumber = user.Adress.StreetNumber, ZipCode = user.Adress.ZipCode, UserRole = "" }); } else { viewModels.Add(new UserViewModel { Email = user.Email, Number = user.PhoneNumber }); } } foreach (string role in UserRoles) { if (role == "applicant") { if (user.Adress != null) { viewModels.Add(new UserViewModel { City = user.Adress.City, Email = user.Email, Number = user.PhoneNumber, Street = user.Adress.Street, StreetNumber = user.Adress.StreetNumber, ZipCode = user.Adress.ZipCode, UserRole = role }); } else { viewModels.Add(new UserViewModel { Email = user.Email, Number = user.PhoneNumber, UserRole = role }); } } } } else { viewModels.Add(new UserViewModel { Email = user.Email, Number = user.PhoneNumber, UserRole = "" }); } } return viewModels; }
public async Task <IHttpActionResult> GetExternalLogin(string provider, string error = null) { if (error != null) { return(Redirect(Url.Content("~/") + "#error=" + Uri.EscapeDataString(error))); } if (!User.Identity.IsAuthenticated) { return(new ChallengeResult(provider, this)); } ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity); if (externalLogin == null) { return(InternalServerError()); } if (externalLogin.LoginProvider != provider) { Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie); return(new ChallengeResult(provider, this)); } ApplicationUser user = await UserManager.FindAsync(new UserLoginInfo(externalLogin.LoginProvider, externalLogin.ProviderKey)); bool hasRegistered = user != null; if (hasRegistered) { Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie); ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(UserManager, OAuthDefaults.AuthenticationType); ClaimsIdentity cookieIdentity = await user.GenerateUserIdentityAsync(UserManager, CookieAuthenticationDefaults.AuthenticationType); AuthenticationProperties properties = ApplicationOAuthProvider.CreateProperties(user.UserName, user.Id, UserManager.GetRoles(user.Id)[0]); Authentication.SignIn(properties, oAuthIdentity, cookieIdentity); } else { IEnumerable <Claim> claims = externalLogin.GetClaims(); ClaimsIdentity identity = new ClaimsIdentity(claims, OAuthDefaults.AuthenticationType); Authentication.SignIn(identity); } return(Ok()); }
public async Task<IHttpActionResult> GetUserProfileByEmail() { string emailAddress = HttpContext.Current.Request.Form[0]; var query = (from u in this.db.Users join c in this.db.Clients on u.ClientId equals c.ClientId where u.EmailAddress == emailAddress select new { c.ClientId, c.Name, u.UserId, u.ASPNetUserId, u.FirstName, u.LastName }).ToArray(); // get user role var userManager = new UserManager<IdentityUser>(new UserStore<IdentityUser>(new AuthContext())); string role = userManager.GetRoles(query.First().ASPNetUserId)[0]; var result = query.Select(x => new { x.ClientId, ClientName = x.Name, x.UserId, x.FirstName, x.LastName, Role = role }).ToArray(); return this.Ok(result); }
public ICollection <string> ListUserRoles(string userId) { return(userManager.GetRoles(userId)); }