/// <summary> /// Check if user is authorized on a given permissionKey /// </summary> private bool IsAuthorized(HttpContextBase httpContext) { if (httpContext.User != null && ClaimHelper.GetClaimToString(CaresUserClaims.UserDomainKey) == null) { httpContext.User = null; return(false); } if (httpContext.User != null && (httpContext.User.IsInRole("Admin") || httpContext.User.IsInRole("SystemAdministrator"))) { return(true); } Claim serializedUserPermissionSet = ClaimHelper.GetClaimToString(CaresUserClaims.UserPermissionSet); if (serializedUserPermissionSet == null) { return(false); } var userPermissionSet = JsonConvert.DeserializeObject <List <string> >(serializedUserPermissionSet.Value); if (!userPermissionSet.Any()) { return(false); } return(userPermissionSet.Any(userPSet => userPSet.Contains(PermissionKey))); }
/// <summary> /// Set User Detail In Session /// </summary> private void SetUserDetail() { Claim domainKeyClaim = ClaimHelper.GetClaimToString(CaresUserClaims.UserDomainKey); if (domainKeyClaim != null) { return; } }
public ActionResult Login(string returnUrl) { if (!User.Identity.IsAuthenticated || ClaimHelper.GetClaimToString(CaresUserClaims.UserDomainKey) == null) { ViewBag.ReturnUrl = returnUrl; return(View()); } return(RedirectToAction("Index", "Home", new { area = "" })); }
/// <summary> /// Get All Users /// </summary> private IEnumerable <AspNetUser> GetAllUsers() { var domainKeyClaim = ClaimHelper.GetClaimToString(CaresUserClaims.UserDomainKey); if (domainKeyClaim == null) { throw new InvalidOperationException("Domain-Key claim not found!"); } var domainkey = System.Convert.ToInt64(domainKeyClaim.Value); return(UserManager.Users.ToList()); //return UserManager.Users.Where(user => user.UserDomainKey == domainkey).ToList(); }
public ActionResult CreateUser(UserManagement model) { if (model == null) { throw new InvalidOperationException("User Does not exists!"); } var domainKeyClaim = ClaimHelper.GetClaimToString(CaresUserClaims.UserDomainKey); if (domainKeyClaim == null) { throw new InvalidOperationException("Domain-Key claim not found!"); } var domainkey = System.Convert.ToInt64(domainKeyClaim.Value); // Creating employee //DomainModels.Employee emp = employeeService.CreateEmployeeWithUser(model.UserEmail); var user = new AspNetUser { PhoneNumber = model.PhoneNumber, UserName = model.UserEmail, Email = model.UserEmail, UserDomainKey = domainkey, FirstName = model.FirstName, LastName = model.LastName }; var status = AddUserToUserManager(user, model); if (status == null) { return(RedirectToAction("Index")); } var roles = RoleManager.Roles.Where(role => role.Name != "SystemAdministrator").ToList(); var allUsers = GetAllUsers().ToList(); //var allEmployees = employeeService.GetAllForUser(allUsers.Select(usr => usr.EmployeeId).ToList()).Select(employee => employee.CreateFrom()); ViewBag.UserRoles = roles; //ViewBag.Employees = allEmployees; ViewBag.UserError = status; return(View(new UserManagement())); }
/// <summary> /// Returns a complete menu for client side /// </summary> public IEnumerable <MenuView> GetForRole() { Claim userRoleClaim = ClaimHelper.GetClaimToString(ClaimTypes.Role); if (userRoleClaim == null || string.IsNullOrEmpty(userRoleClaim.Value)) { return(null); } IEnumerable <MenuRight> menuRights = menuRightRepository.GetByRoleName(userRoleClaim.Value).ToList(); // Get Parent Items IEnumerable <Menu> parents = menuRights.Where(menu => menu.Menu.IsRootItem).OrderBy(menu => menu.Menu.SortOrder).Select(menu => menu.Menu).ToList(); List <MenuView> menuViews = new List <MenuView>(); foreach (Menu parent in parents) { MenuView menuView = new MenuView { text = parent.MenuTitle, heading = true, icon = parent.MenuImagePath, sref = parent.MenuTargetController }; menuViews.Add(menuView); List <Menu> NotParentMenu = menuRights .Where(menu => !menu.Menu.IsRootItem && menu.Menu.ParentItem_MenuId.Equals(parent.MenuId)) .OrderBy(menu => menu.Menu.SortOrder).Select(menu => menu.Menu).ToList(); foreach (var menus in NotParentMenu) { MenuView menuViewz = new MenuView { text = menus.MenuTitle, icon = menus.MenuImagePath, sref = menus.MenuTargetController, submenu = new List <MenuView>() }; menuViews.Add(menuViewz); // Insert Sub menus if any List <Menu> childs = menuRights .Where(menu => !menu.Menu.IsRootItem && menu.Menu.ParentItem_MenuId == menus.MenuId) .OrderBy(menu => menu.Menu.SortOrder).Select(menu => menu.Menu).ToList(); if (!childs.Any()) { continue; } childs.ForEach(childMenu => menuViewz.submenu.Add(new MenuView { text = childMenu.MenuTitle, icon = childMenu.MenuImagePath, sref = childMenu.MenuTargetController })); } } return(menuViews); }