public ActionResult RolePermission(int id, int[][] array) { var subject = RBACService.GetSubject(id, false, false, false); var roles = RBACService.GetRoles(); foreach (var roleId in array[0]) { var found = roles.First(n => n.RoleId == roleId); if (found != null) { subject.Add(found); } } var permissions = RBACService.GetPermissions(); foreach (var permissionId in array[1]) { var found = permissions.First(n => n.PermissionId == permissionId); if (found != null) { subject.Add(found); } } RBACWriteService.SaveSubjectRoles(subject); RBACWriteService.SaveSubjectPermissions(subject); return(new JsonNetResult(new object())); }
public ActionResult Group() { var roles = RBACService.GetRoles(); var root = TreeService.GetTree(Constants.ROLE_TREE_ID); ViewBag.Tree = new JsTreeBuilder <Role>(x => x.Name, x => x.RoleId) .Build(root, roles) .children; return(View()); }
public ActionResult Group() { var permissions = RBACService.GetPermissions(); var root = TreeService.GetTree(Constants.PERMISSION_TREE_ID); ViewBag.Tree = new JsTreeBuilder <Permission>(x => x.Name, x => x.PermissionId) .Build(root, permissions) .children; return(View()); }
public ActionResult Index() { var subjects = RBACService.GetSubjects(); var root = TreeService.GetTree(Constants.SUBJECT_TREE_ID); var jsTree = new JsTreeBuilder <Subject>(x => x.Name, x => x.SubjectId) .Build(root, subjects); ViewBag.Tree = jsTree.children; return(View()); }
public ActionResult Map() { var roles = RBACService.GetRoles(true); var treeRole = TreeService.GetTree(Constants.ROLE_TREE_ID); ViewBag.LeftTree = new JsTreeBuilder <Role>(x => x.Name, x => x.RoleId, x => x.Permissions.Select(n => n.PermissionId)) .Build(treeRole, roles) .children; var permissions = RBACService.GetPermissions(); var treePermission = TreeService.GetTree(Constants.PERMISSION_TREE_ID); ViewBag.RightTree = new JsTreeBuilder <Permission>(x => x.Name, x => x.PermissionId) .Build(treePermission, permissions) .children; return(View()); }
public ActionResult RolePermission(int id) { var subject = RBACService.GetSubject(id, true, false, true); ViewBag.Subject = subject; var roles = RBACService.GetRoles(); var treeRole = TreeService.GetTree(Constants.ROLE_TREE_ID); var jsTreeRole = new JsTreeBuilder <Role>(x => x.Name, x => x.RoleId) .Build(treeRole, roles); jsTreeRole.Each(x => { if (x == jsTreeRole) { return; } if (subject.HaveRole(x.data.content)) { x.state.selected = true; } }); ViewBag.RoleTree = jsTreeRole.children; var permissions = RBACService.GetPermissions(); var treePermission = TreeService.GetTree(Constants.PERMISSION_TREE_ID); var jsTreePermission = new JsTreeBuilder <Permission>(x => x.Name, x => x.PermissionId) .Build(treePermission, permissions); jsTreePermission.Each(x => { if (x == jsTreePermission) { return; } if (subject.HaveDirectPermission(x.data.content)) { x.state.selected = true; } }); ViewBag.PermissionTree = jsTreePermission.children; return(View()); }
public ActionResult Index() { var permissions = RBACService.GetPermissions(); var root = TreeService.GetTree(Constants.PERMISSION_TREE_ID); var jsTree = new JsTreeBuilder <Permission>(x => x.Name, x => x.PermissionId) .Build(root, permissions); jsTree.Each(x => { if (x == jsTree) { return; } x.state.disabled = true; }); ViewBag.Tree = jsTree.children; return(View()); }
public ActionResult Map([ModelBinder(typeof(JsonNetModelBinder))] IList <JsTreeNode> nodes) { var root = new JsTreeParser().Parse(Constants.ROLE_TREE_ID, nodes); var roles = RBACService.GetRoles(); var permissions = RBACService.GetPermissions(); root.Each(x => { if (x.Elements != null) { var role = roles.SingleOrDefault(n => n.RoleId == x.Id); if (role != null) { var rolePermissions = permissions.Where(n => x.Elements.Any(m => m == n.PermissionId)); role.Add(rolePermissions); } } }); RBACWriteService.SaveRolePermissions(roles); return(new JsonNetResult(nodes)); }
public MyPrincipal(IIdentity identity) { myIdentity = identity as WindowsIdentity; for (int i = 0; i < myIdentity.Groups.Count; i++) { try { List <Permission> permissionsForGroup = RBACService.GetPermissions(myIdentity.Groups[i].Value); for (int j = 0; j < permissionsForGroup.Count; j++) { myPermissions.Add(permissionsForGroup[j]); } } catch (Exception e) { Console.WriteLine(e.Message.ToString()); } } }
public ActionResult Permission(int id) { var role = RBACService.GetRole(id, true); var permissions = RBACService.GetPermissions(); var root = TreeService.GetTree(Constants.PERMISSION_TREE_ID); var jsTree = new JsTreeBuilder <Permission>(x => x.Name, x => x.PermissionId) .Build(root, permissions); jsTree.Each(x => { if (x == jsTree) { return; } x.state.disabled = true; if (role.HavePermission(x.data.content)) { x.state.selected = true; } }); return(new JsonNetResult(jsTree.children)); }
public ActionResult DirectPermission(int id) { var subject = RBACService.GetSubject(id, true, true, true); var permissions = RBACService.GetPermissions(); var treePermission = TreeService.GetTree(Constants.PERMISSION_TREE_ID); var jsTreePermission = new JsTreeBuilder <Permission>(x => x.Name, x => x.PermissionId) .Build(treePermission, permissions); jsTreePermission.Each(x => { if (x == jsTreePermission) { return; } x.state.disabled = true; if (subject.HaveDirectPermission(x.data.content)) { x.state.selected = true; } }); return(new JsonNetResult(jsTreePermission.children)); }
public ActionResult Role(int id) { var subject = RBACService.GetSubject(id, true, false, false); var roles = RBACService.GetRoles(); var treeRole = TreeService.GetTree(Constants.ROLE_TREE_ID); var jsTreeRole = new JsTreeBuilder <Role>(x => x.Name, x => x.RoleId) .Build(treeRole, roles); jsTreeRole.Each(x => { if (x == jsTreeRole) { return; } x.state.disabled = true; if (subject.HaveRole(x.data.content)) { x.state.selected = true; } }); return(new JsonNetResult(jsTreeRole.children)); }