Example #1
0
        public async Task <ActionResult> UserPermissions(string userId)
        {
            if (string.IsNullOrWhiteSpace(userId))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var user = await UserManager.FindByIdAsync(userId);

            var userRoles = await UserManager.GetRolesAsync(userId);

            var appRoles = RoleManager.Roles;

            var userPermissions = new UserPermissionsViewModel()
            {
                UserId   = user.UserId,
                UserName = user.UserName,
                Roles    = appRoles.Where(role => userRoles.Any(userRole => userRole == role.Name))
                           .Select(r => new RoleViewModel
                {
                    RoleId          = r.RoleId,
                    RoleName        = r.RoleName,
                    RoleDescription = r.RoleDescription
                }).OrderBy(r => r.RoleName)
            };

            return(View(userPermissions));
        }
Example #2
0
        public ActionResult UserPermissions(string id)
        {
            var user  = db.Users.FirstOrDefault(u => u.UserName.Equals(id));
            var model = new UserPermissionsViewModel(user);

            return(View(model));
        }
Example #3
0
        public IActionResult GetUserPermissions(long id)
        {
            UserPermissionsViewModel model = new UserPermissionsViewModel(id,
                                                                          _claimsProvider.GetClaimsForUser(id), _claimsProvider.GetAllClaims());

            return(PartialView("_UserPermissions", model));
        }
Example #4
0
        public ActionResult UserPermissions(string id)
        {
            var user  = _db.Users.First(u => u.UserName == id);
            var model = new UserPermissionsViewModel(user);

            return(View(model));
        }
Example #5
0
        public UserPermissionsViewModel GetUserPermissionsForUser(string userId)
        {
            var model = new UserPermissionsViewModel();

            using (var db = new ErasmusDbContext())
            {
                var store = new UserStore <ErasmusUser>(db);
                var user  = store.Users.SingleOrDefault(x => x.Id == userId);
                if (user == null)
                {
                    return(null);
                }
                var manager = new UserManager <ErasmusUser>(store);
                model.UserId      = user.Id;
                model.Email       = user.Email;
                model.Role        = manager.GetRoles(user.Id).FirstOrDefault();
                model.Permissions = db.UserPermissions.Where(x => x.UserId == user.Id)
                                    .Select(x => new PermissionViewModel()
                {
                    Id             = x.Id,
                    UniversityId   = x.UniversityId,
                    UniversityName = x.University.Name,
                    FacultyId      = x.FacultyId,
                    FacultyName    = x.Faculty == null ? "" : x.Faculty.Name
                }).ToList();
                model.UniversitiesList =
                    new SelectList(
                        db.Universities.Select(x => new SelectListItem()
                {
                    Text = x.Name, Value = x.Id.ToString()
                })
                        .ToList(), "Value", "Text");
            }
            return(model);
        }
Example #6
0
        public ActionResult Permissions([Bind(Include = "UserID, Login, FirstName, LastName, ClassroomsWithPermissions, AllClassrooms")] UserPermissionsViewModel userPerm)
        {
            if (Session["UserID"] == null)
            {
                return(RedirectToAction("", "Home"));
            }
            if (!CheckUserPermission())
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "Nie masz uprawnień do tego zasobu."));
            }

            foreach (var classroom in userPerm.ClassroomsWithPermissions)
            {
                var classroomPermission = new ClassroomPermission()
                {
                    ClassroomID = classroom.ClassroomID,
                    UserID      = userPerm.UserID
                };
                db.ClassroomPermissions.Add(classroomPermission);
            }

            db.SaveChanges();

            return(RedirectToAction("", "User"));
        }
Example #7
0
 /// <summary>
 /// 权限分配
 /// </summary>
 /// <param name="userId"></param>
 /// <param name="depId"></param>
 /// <returns></returns>
 public PartialViewResult AssignRights(int userId = 0, int depId = 0)
 {
     if (userId > 0)
     {
         var rolePermissions = new UserPermissionsViewModel(0, CurrentUser.UserId);
         return(PartialView(rolePermissions));
     }
     throw new TpoBaseException("无效的参数");
 }
Example #8
0
        //[Authorize(Roles = "Admin, CanEditRole, CanEditGroup, User")]
        public async Task <ActionResult> UserPermissions(int id)
        {
            var user = await _context.Users.Include(x => x.Groups).FirstAsync(u => u.Id == id);

            IList <string> applicationRoles = await _userManager.GetRolesAsync(user);

            var model = new UserPermissionsViewModel(user, applicationRoles, _context);
            await model.SetRoleList();

            return(View(model));
        }
Example #9
0
        public IActionResult SetUserPermissions(UserPermissionsViewModel model)
        {
            if (String.IsNullOrEmpty(model.SelectedClaims))
            {
                model.SelectedClaims = String.Empty;
            }

            string[] claims = model.SelectedClaims.Split(';', StringSplitOptions.RemoveEmptyEntries);
            _claimsProvider.SetClaimsForUser(model.UserId, claims.ToList());

            return(new JsonResult(new { updated = true }));
        }
Example #10
0
        public PartialViewResult GetPermissionsForSelectedUser(string sesId)
        {
            DataSet userPermissionDataSet = userRepository.GetUserPermissions(sesId);
            UserPermissionsViewModel userPermissionsViewModel = new UserPermissionsViewModel();

            userPermissionsViewModel.ApplicationUsers     = new List <ApplicationUsers>();
            userPermissionsViewModel.ScreenAndPermissions = new List <ScreenAndPermissions>();

            userPermissionsViewModel.ScreenAndPermissions = UserPermissionModelBusinessLogic.GetUserPermissionFromDataTable(userPermissionDataSet.Tables[0], SessionUserId);
            userPermissionsViewModel.IconList             = UserPermissionModelBusinessLogic.GetIconList <FontIcons>();

            return(PartialView("_UserPermissions", userPermissionsViewModel));
        }
Example #11
0
        public ActionResult UserPermissions()
        {
            string  sessionId             = Convert.ToString(Session["UserId"]);
            DataSet userPermissionDataSet = userRepository.GetUserPermissions(sessionId, true);

            UserPermissionsViewModel userPermissionsViewModel = new UserPermissionsViewModel();

            userPermissionsViewModel.ApplicationUsers     = new List <ApplicationUsers>();
            userPermissionsViewModel.ScreenAndPermissions = new List <ScreenAndPermissions>();

            userPermissionsViewModel.ApplicationUsersSelectList = userPermissionDataSet.Tables[0].AsEnumerable()
                                                                  .Select(result => new SelectListItem
            {
                Text     = result.Field <string>("DisplayName"),
                Value    = result.Field <string>("UserId"),
                Selected = String.Equals(result.Field <string>("UserId"), sessionId, StringComparison.InvariantCultureIgnoreCase)
            });

            userPermissionsViewModel.ScreenAndPermissions = UserPermissionModelBusinessLogic.GetUserPermissionFromDataTable(userPermissionDataSet.Tables[1], sessionId);

            return(View("UserPermissions", userPermissionsViewModel));
        }