随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。
posts - 398,comments - 0,views - 13万

类一:用户类

复制代码
package Demo_1_19_角色与权限;

//用户类
public class Member {
    private String mid;
    private String name;
    private Role[] roles;


    public Member() {
    }

    public Member(String mid, String name) {
        this.mid = mid;
        this.name = name;
    }

    public String getMid() {
        return mid;
    }

    public Role[] getRoles() {
        return roles;
    }

    public void setRoles(Role[] roles) {
        this.roles = roles;
    }

    public void setMid(String mid) {
        this.mid = mid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInfo(){
        return "【用户信息】: mid = " + this.mid + "\tname = " + name;
    }
}
复制代码

类二:角色类

复制代码
package Demo_1_19_角色与权限;

import Demo_1_19_多对多.Menber;

// 角色类
public class Role {
    private long rid;
    private String title;
    private Member[] members;
    private Privilege[] privileges;

    public Role() {
    }

    public Role(long rid, String title) {
        this.rid = rid;
        this.title = title;
    }

    public Member[] getMembers() {
        return members;
    }

    public void setMembers(Member[] members) {
        this.members = members;
    }

    public Privilege[] getPrivileges() {
        return privileges;
    }

    public void setPrivileges(Privilege[] privileges) {
        this.privileges = privileges;
    }

    public long getRid() {
        return rid;
    }

    public void setRid(long rid) {
        this.rid = rid;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getInfo(){
        return "【角色信息】: rid = " + this.rid + "\ttitle = " + this.title;
    }
}
复制代码

类三:权限类

复制代码
package Demo_1_19_角色与权限;

//权限类
public class Privilege {
    private long pid;
    private String title;
    private Role role;

    public Privilege() {
    }

    public Privilege(long pid, String title) {
        this.pid = pid;
        this.title = title;
    }

    public Role getRole() {
        return role;
    }

    public void setRole(Role role) {
        this.role = role;
    }

    public long getPid() {
        return pid;
    }

    public void setPid(long pid) {
        this.pid = pid;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getInfo(){
        return "【权限信息】: pid = " + this.pid + "\ttitle = " + this.title;
    }
}
复制代码

主类:

复制代码
package Demo_1_19_角色与权限;

public class Main {
    public static void main(String[] args) {
        // 根据结构设置对象数据
        Member mem1 = new Member("mldn-1","张三");
        Member mem2 = new Member("mldn-2","李四");

        Role role1 = new Role(1L,"系统配置");
        Role role2 = new Role(2L,"备份管理");
        Role role3 = new Role(3L,"人事管理");

        Privilege pri1 = new Privilege(101L,"系统初始化");
        Privilege pri2 = new Privilege(102L,"系统还原");
        Privilege pri3 = new Privilege(103L,"系统环境修改");
        Privilege pri4 = new Privilege(201L,"备份员工数据");
        Privilege pri5 = new Privilege(202L,"备份部门数据");
        Privilege pri6 = new Privilege(203L,"备份公文数据");
        Privilege pri7 = new Privilege(301L,"增加员工");
        Privilege pri8 = new Privilege(302L,"编辑员工");
        Privilege pri9 = new Privilege(303L,"浏览员工");
        Privilege pri10 = new Privilege(304L,"辞退员工");

        //增加角色与权限的对应关系
        role1.setPrivileges(new Privilege[]{pri1,pri2,pri3});
        role2.setPrivileges(new Privilege[]{pri4,pri5,pri6});
        role3.setPrivileges(new Privilege[]{pri7,pri8,pri9,pri10});

        //增加权限与角色的对应关系
        pri1.setRole(role1);
        pri2.setRole(role1);
        pri3.setRole(role1);
        pri4.setRole(role2);
        pri5.setRole(role2);
        pri6.setRole(role2);
        pri7.setRole(role3);
        pri8.setRole(role3);
        pri9.setRole(role3);
        pri10.setRole(role3);

        // 增加用户与角色的对应关系
        mem1.setRoles(new Role[]{role1,role2});
        mem2.setRoles(new Role[]{role1,role2,role3});
        //增加角色与用户的对应关系
        role1.setMembers(new Member[]{mem1});
        role2.setMembers(new Member[]{mem1,mem2});
        role3.setMembers(new Member[]{mem2});
        //根据要求获取数据
        System.out.println("------- 查看用户下的角色信息 -------");
        System.out.println("\n" + mem1.getInfo());
        for (Role role : mem1.getRoles()) {
            System.out.println("\t|-" + role.getInfo());
        }
        System.out.println("\n" + mem2.getInfo());
        for (Role role : mem2.getRoles()) {
            System.out.println("\t|-" + role.getInfo());
        }

        System.out.println("\n*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*-*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*\n");

        System.out.println("------- 查看角色下的用户信息 -------");
        System.out.println("\n" + role1.getInfo());
        for (Member member : role1.getMembers()) {
            System.out.println("\t|-" + member.getInfo());
        }
        System.out.println("\n" + role2.getInfo());
        for (Member member : role2.getMembers()) {
            System.out.println("\t|-" + member.getInfo());
        }
        System.out.println("\n" + role3.getInfo());
        for (Member member : role3.getMembers()) {
            System.out.println("\t|-" + member.getInfo());
        }

        System.out.println("\n*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*-*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*\n");

        System.out.println("------- 查看角色的权限 -------");
        System.out.println("\n" + role1.getInfo());
        for (Privilege privilege : role1.getPrivileges()) {
            System.out.println("\t|-" + privilege.getInfo());
        }
        System.out.println("\n" + role2.getInfo());
        for (Privilege privilege : role2.getPrivileges()) {
            System.out.println("\t|-" + privilege.getInfo());
        }
        System.out.println("\n" + role3.getInfo());
        for (Privilege privilege : role3.getPrivileges()) {
            System.out.println("\t|-" + privilege.getInfo());
        }

        System.out.println("\n*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*-*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*—*\n");

        System.out.println("------- 查看权限所属的角色 -------");

        System.out.println("\n" + pri1.getInfo());
        System.out.println("\t|-" + pri1.getRole().getInfo());

        System.out.println("\n" + pri2.getInfo());
        System.out.println("\t|-" + pri2.getRole().getInfo());

        System.out.println("\n" + pri3.getInfo());
        System.out.println("\t|-" + pri3.getRole().getInfo());

        System.out.println("\n" + pri4.getInfo());
        System.out.println("\t|-" + pri4.getRole().getInfo());

        System.out.println("\n" + pri5.getInfo());
        System.out.println("\t|-" + pri5.getRole().getInfo());

        System.out.println("\n" + pri6.getInfo());
        System.out.println("\t|-" + pri6.getRole().getInfo());

        System.out.println("\n" + pri7.getInfo());
        System.out.println("\t|-" + pri7.getRole().getInfo());

        System.out.println("\n" + pri8.getInfo());
        System.out.println("\t|-" + pri8.getRole().getInfo());

        System.out.println("\n" + pri9.getInfo());
        System.out.println("\t|-" + pri9.getRole().getInfo());

        System.out.println("\n" + pri10.getInfo());
        System.out.println("\t|-" + pri10.getRole().getInfo());

    }
}
复制代码

 

经供参考

posted on   时间完全不够用啊  阅读(227)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示