コード例 #1
0
        public ActionResult Index()
        {
            var roles  = RBACService.GetRoles();
            var root   = TreeService.GetTree(Constants.ROLE_TREE_ID);
            var jsTree = new JsTreeBuilder <Role>(x => x.Name, x => x.RoleId)
                         .Build(root, roles);

            ViewBag.Tree = jsTree.children;
            return(View());
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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());
        }
コード例 #5
0
        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));
        }
コード例 #6
0
        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));
        }
コード例 #7
0
        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));
        }