关于OA权限管理——第一步、准备

来源:互联网 发布:淘宝店铺转让合同模板 编辑:程序博客网 时间:2024/06/16 16:13

一、设计

二、实体

Privilege.java

private Long id;private String url;private String name;private String icon;//导航栏图标private Set<Role> roles;private Privilege parent;private Set<Privilege> children = new HashSet<Privilege>();

Role.java

<span style="white-space:pre"></span>private Long id;<span style="white-space:pre"></span>private String name;private String description;Set<User> users = new HashSet<User>();private Set<Privilege> privileges;//与Privilege相关联

三、映射

Privilege.hbm.xml:

<span style="white-space:pre"></span><span style="white-space:pre"></span><class name="Privilege" table="privilege"><id name="id">            <generator class="native"/></id><property name="name"/><property name="icon"/><property name="url"/><!-- roles属性,本类与Role多对多关系 --><set name="roles" table="itcast_role_privilege"><key column="privilegeId"></key><many-to-many class="Role" column="roleId"></many-to-many></set><!-- parent属性,本类与Privilege(上级)的多对一关系 --><many-to-one name="parent" class="Privilege" column="parentId"></many-to-one><!-- children属性,本类与Privilege(下级)的一对多关系--><set name="children" order-by="id"><key column="parentId"></key><one-to-many class="Privilege"/></set></class>


Role.hbm.xml:

<class name="Role" table="role"><id name="id">            <generator class="native"/></id><property name="name"/><property name="description"/><!-- users属性,本类与User多对多关系 --><set name="users" table="itcast_user_role"><key column="roleId"></key><many-to-many class="User" column="userId"></many-to-many></set><!-- privileges属性:本类与Privilege多对多关系 --><set name="privileges" table="itcast_role_privilege"><key column="roleId"></key><many-to-many class="Privilege" column="privilegeId"></many-to-many></set></class>
四、初始化数据

按照菜单和操作来初始化数据

<span style="white-space:pre"></span>// 权限信息Privilege menu, menu1, menu2, menu3,menu4,menu5;menu = new Privilege("系统管理", null, "FUNC20082.gif", null);menu1 = new Privilege("岗位管理", "roleAction_list", null, menu);menu2 = new Privilege("部门管理", "departmentAction_list", null, menu);menu3 = new Privilege("用户管理", "userAction_list", null, menu);session.save(menu);session.save(menu1);session.save(menu2);session.save(menu3);session.save(new Privilege("岗位列表", "roleAction_list", null, menu1));session.save(new Privilege("岗位删除", "roleAction_delete", null, menu1));session.save(new Privilege("岗位添加", "roleAction_add", null, menu1));session.save(new Privilege("岗位修改", "roleAction_edit", null, menu1));session.save(new Privilege("部门列表", "departmentAction_list", null, menu2));session.save(new Privilege("部门删除", "departmentAction_delete", null,menu2));session.save(new Privilege("部门添加", "departmentAction_add", null, menu2));session.save(new Privilege("部门修改", "departmentAction_edit", null, menu2));session.save(new Privilege("用户列表", "userAction_list", null, menu3));session.save(new Privilege("用户删除", "userAction_delete", null, menu3));session.save(new Privilege("用户添加", "userAction_add", null, menu3));session.save(new Privilege("用户修改", "userAction_edit", null, menu3));session.save(new Privilege("用户初始化密码", "userAction_initPassword", null,menu3));
0 0
原创粉丝点击