Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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);
        }
Ejemplo n.º 4
0
        //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());
        }
Ejemplo n.º 5
0
        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");
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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
        }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
 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");
 }
Ejemplo n.º 11
0
 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);
 }
Ejemplo n.º 12
0
		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();
		}
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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");
            }
        }
Ejemplo n.º 15
0
        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");
 }
Ejemplo n.º 18
0
        /// <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);
        }
Ejemplo n.º 19
0
        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);
            }
        }
Ejemplo n.º 20
0
        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));
        }
Ejemplo n.º 21
0
        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");
        }
Ejemplo n.º 22
0
        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");
        }
Ejemplo n.º 23
0
        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;
                }
            }
        }
Ejemplo n.º 24
0
 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);
 }
Ejemplo n.º 25
0
 protected string getCurrentRole(object id)
 {
     var userStore = new UserStore<IdentityUser>();
     var userManager = new UserManager<IdentityUser>(userStore);
     return userManager.GetRoles(id.ToString()).First();
 }
Ejemplo n.º 26
0
        /// <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);
        }
Ejemplo n.º 27
0
        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
            });
        }
Ejemplo n.º 28
0
        public string AllRoles()
        {
            var manager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));

            return(string.Join(", ", manager.GetRoles(User.Identity.GetUserId())));
        }
Ejemplo n.º 29
0
    /*
     * 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"
            }
                );
        }
Ejemplo n.º 31
0
        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");
                }
            }
        }
Ejemplo n.º 33
0
 public IList <string> ListUserRoles(string userId)
 {
     return(userManager.GetRoles(userId));
 }
Ejemplo n.º 34
0
    /*
     * 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);
            }
        }
    }
Ejemplo n.º 35
0
        // 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;
        }
Ejemplo n.º 37
0
        // 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);
        }
Ejemplo n.º 38
0
        //创建用户名为[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();
        }
Ejemplo n.º 39
0
        public IList <string> UserRoles(string userId)
        {
            IList <string> roles = _userManager.GetRoles(userId);

            return(roles);
        }
Ejemplo n.º 40
0
 public List <string> GetUserRoles(string id)
 {
     return(UserManager.GetRoles(id).ToList());
 }
Ejemplo n.º 41
0
        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));
        }
Ejemplo n.º 42
0
 public IList <string> GetUserRole(string userId)
 {
     return(_userManager.GetRoles(Guid.Parse(userId)));
 }
Ejemplo n.º 43
0
        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));
        }
Ejemplo n.º 45
0
        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;
        }
Ejemplo n.º 46
0
 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"));
 }
Ejemplo n.º 48
0
        public string GetRoleName(string userId)
        {
            var role = _userManager.GetRoles(userId).ToList();

            return(role.FirstOrDefault());
        }
Ejemplo n.º 49
0
        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);
            //}
        }
Ejemplo n.º 50
0
        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));
        }
Ejemplo n.º 51
0
        // 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());
        }
Ejemplo n.º 52
0
        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));
            }
        }
Ejemplo n.º 53
0
 public ICollection <string> ListRolesForUser(string UserId)
 {
     return(userManager.GetRoles(UserId));
 }
Ejemplo n.º 54
0
        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!"));
            }
        }
Ejemplo n.º 55
0
        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());
        }
Ejemplo n.º 56
0
        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;
 }
Ejemplo n.º 58
0
        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());
        }
Ejemplo n.º 59
0
        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);
        }
Ejemplo n.º 60
0
 public ICollection <string> ListUserRoles(string userId)
 {
     return(userManager.GetRoles(userId));
 }