javaweb系统基本权限模块

来源:互联网 发布:网易新闻app数据抓取 编辑:程序博客网 时间:2024/04/30 21:35

1、基本权限

    user存放用户名(username),密码(password)。关联用户(Employee)

    role存放名称(name),描述(descp)

    assign关联角色表(role),用户表(user)

user表:
id username password entityId role
1    username 123456   0            1
class User{
    private long id;
    private Integer version;
    private String username;
    private String password;
    private String entityId;//用户类型对应的实体id,也就是用户的具体信息(Employee表),employee表关联dept表
}
role表:
id version name     descp
1    1        admin    系统管理人员
class role{
    private String id;
    private Integer version;
    private String name;//权限名称
    private String descp;//权限描述
}
assign表:
id    version users roles
1    1        0        0
class Assign{
    private Long id;
    private Integer version;
    private User user;//登录用户
    private Role role;//用户角色
}

2、用户信息
    user关联Employee表,Empoyee关联Dept表

employee表:
id  version    name            address      tel           mobile      fax        dept       director
1      1         zhangsan        小南街      15236356653        235689547       256324          开发部           XXXX
class Employee{
    private String name;
    private String shortString;//名字拼音简写
    private String address;
    private String tel;
    private String mobile;
    private String fax;
    private String director;
    private Dept dept;//部门
}
Dept表:
id version name    shortString director address tel         fax         parentId
1    1         开发部  kfb          小王    三楼    15265487756    253684            0
class Dept{
    private String name;
    private String shortString;
    private String director;//部门管理人员
    private String address;
    private String tel;
    private String fax;
    private String parentId;//部门的上级部门
}

3、模块授权
    grant表授权,关联模块(module)、角色(role)。授权是授权给角色,不是授权给用户。
    module表关联menu表,模块属于菜单。
    menu表关联subsystem表,菜单属于系统。
Grant表:
id version     roles     module
1      1          1        crm_001
class Grant{
    private Long id;
    private Integer version;
    private Role role;//角色
    private Module module;//模块
}
module表:
id            version          name            url                        menu
crm_001            1        部门管理    dept/listDept.action        DM_01
class Module{
    private String id;
    private Integer version;
    private String name;//模块名称
    private String url;//模块访问地址
    private Menu menu;//模块所属菜单
}
menu表:
id        version              name        sys        parentId
DM_01        1            系统维护    CM            无
class Menu{
    private String id;
    private Integer version;
    private String name;//菜单名称
    private String sys;//所属系统
}

subsystem表:
id     version    name
CM        1        电话中心
class Subsystem{
    private String id;
    private Integer version;
    private String name;//系统名称
}