OA项目16:初始化权限数据

首注:本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频我的文字版实践笔记,本人用此来加强巩固自己开发知识,如有网友转载,请注明。谢谢。

一 在权限类中Privilege.java中加入构造函数,以便初始化权限数据,如下:

  public Privilege() {

  }

  public Privilege(String name, String url, Privilege parent) {

    super();

    this.name = name;

    this.url = url;

    this.parent = parent;

  }

二 写一个工具类,用于初始化数据的,如下:

  

  1 package cn.clear.oa.util;
  2
  3 import javax.annotation.Resource;
  4
  5 import org.apache.commons.codec.digest.DigestUtils;
  6 import org.hibernate.Session;
  7 import org.hibernate.SessionFactory;
  8 import org.junit.Test;
  9 import org.springframework.context.ApplicationContext;
 10 import org.springframework.context.support.ClassPathXmlApplicationContext;
 11 import org.springframework.stereotype.Component;
 12 import org.springframework.transaction.annotation.Transactional;
 13
 14 import cn.clear.oa.domain.Privilege;
 15 import cn.clear.oa.domain.User;
 16 /**
 17  * 初始化数据
 18  * @ClassName: Installer
 19  * @Description: TODO
 20  * @author: clear
 21  * @date: 2014-10-30 上午11:28:37
 22  */
 23 @Component
 24 public class Installer {
 25
 26     @Resource
 27     private SessionFactory sessionFactory;
 28     /**
 29      * 执行安装
 30      * @Title: install
 31      * @Description: TODO
 32      * @return: void
 33      */
 34     @Transactional
 35     public void install() {
 36         Session session = sessionFactory.getCurrentSession();
 37
 38         //保存超级管理员用户
 39         User user = new User();
 40         user.setLoginName("admin");
 41         user.setName("超级管理员");
 42         user.setPassword(DigestUtils.md5Hex("admin"));
 43         session.save(user);
 44
 45         //保存权限数据
 46         Privilege menu,menu1,menu2,menu3,menu4,menu5;
 47         //--------
 48         menu = new Privilege("系统管理", null, null);
 49         menu1 = new Privilege("岗位管理", "/role_list", menu);
 50         menu2 = new Privilege("部门管理", "/department_list", menu);
 51         menu3 = new Privilege("用户管理", "/user_list", menu);
 52
 53         session.save(menu);
 54         session.save(menu1);
 55         session.save(menu2);
 56         session.save(menu3);
 57
 58         session.save(new Privilege("岗位列表", "/role_list", menu1));
 59         session.save(new Privilege("岗位添加", "/role_add", menu1));
 60         session.save(new Privilege("岗位修改", "/role_edit", menu1));
 61         session.save(new Privilege("岗位删除", "/role_delete", menu1));
 62
 63         session.save(new Privilege("部门列表", "department_list", menu2));
 64         session.save(new Privilege("部门添加", "department_add", menu2));
 65         session.save(new Privilege("部门修改", "department_edit", menu2));
 66         session.save(new Privilege("部门删除", "department_delete", menu2));
 67
 68         session.save(new Privilege("用户列表", "user_list", menu3));
 69         session.save(new Privilege("用户添加", "user_add", menu3));
 70         session.save(new Privilege("用户修改", "user_edit", menu3));
 71         session.save(new Privilege("用户删除", "user_delete", menu3));
 72         session.save(new Privilege("初始化密码", "user_initPassword", menu3));
 73
 74         //--------
 75         menu = new Privilege("网上交流", null, null);
 76         menu1 = new Privilege("论坛位管理", "/forumManage_list", menu);
 77         menu2 = new Privilege("论坛", "/forum_list", menu);
 78         session.save(menu);
 79         session.save(menu1);
 80         session.save(menu2);
 81
 82         //--------
 83         menu = new Privilege("审批流转", null, null);
 84         menu1 = new Privilege("审批流转管理", "/processDefinition_list", menu);
 85         menu2 = new Privilege("申请模板管理", "/template_list", menu);
 86         menu3 = new Privilege("起草申请", "/flow_templateList", menu);
 87         menu4 = new Privilege("待我审批", "/flow_myTaskList", menu);
 88         menu5 = new Privilege("我的申请查询", "/flow_myApplicationList", menu);
 89
 90         session.save(menu);
 91         session.save(menu1);
 92         session.save(menu2);
 93         session.save(menu3);
 94         session.save(menu4);
 95         session.save(menu5);
 96     }
 97
 98     public static void main(String[] args) {
 99         ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
100         Installer installer = (Installer) ac.getBean("installer");
101         installer.install();
102     }
103
104 }

Installer.java

三 完成之后,执行main方法初始化数据到数据库。

时间: 2024-08-03 08:31:44

OA项目16:初始化权限数据的相关文章

权限模块_整体方案说明_设计实体&映射实体_实现初始化权限数据的功能

权限模块_整体方案说明 要点说明 权限就是控制功能的使用(功能对应着URL). 对功能的控制就是对URL的访问控制. 在我们的程序中,一个功能对应一个或两个URL: 1,例如列表或删除功能,只对应一个URL. 2,例如添加或修改功能,对应两个URL:..add, ..addUI 权限模型 权限方案: 用户 *----* 角色 *----* 权限 与权限相关的功能具体有哪些: 初始化数据:... 分配权限:... 使用权限:... 具体有哪些功能 初始化数据(安装) 权限数据. 超级管理员. 分配

OA项目17:分配权限

首注:本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频我的文字版实践笔记,本人用此来加强巩固自己开发知识,如有网友转载,请注明.谢谢. 一 写PrivilegeService.java及实现类PrivilegeServiceImpl.java: 1 package cn.clear.oa.service; 2 3 import cn.clear.oa.base.DaoSupport; 4 import cn.clear.oa.domain.Privilege; 5 6 public int

OA项目15:权限管理实体设计及映射

首注:本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频我的文字版实践笔记,本人用此来加强巩固自己开发知识,如有网友转载,请注明.谢谢. 一 实体设计: 1.权限实体设计: 1)属性设计: 主键:id 关联属性:Set<Role> roles,Set<Privilege> privileges,Privilege parent,Set<Privilege> children 一般属性:name,url 特殊属性:暂无 2)涉及到3个实体:User(用户),Role(

OA项目14:权限管理功能分析

首注:本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频我的文字版实践笔记,本人用此来加强巩固自己开发知识,如有网友转载,请注明.谢谢. 一 权限管理分析: 1.权限的含义: 即控制管理功能的使用.比如登陆,需要登陆才能看到首页.用户根据自身权限显示其可管理的功能,如用户没有权限,便不会在页面显示. 2.web应用的权限: 每个功能都有相应的一个或多个URL地址,控制用户的URL就可以控制其权限. 3.权限方案: 用户通过角色授权: 用户     --->   角色    --->   权

OA项目之权限设计②

1.接着昨天的今天到了设计怎样成功的实现权限分配的功能,首先我们看下这些功能的过程例如以下图: 首先是从user的list页面看到设置权限的button,点击进去进入设置权限的页面 进入设置权限页面,看到的是权限的数据例如以下图: 分析这当中有几个请求:点击设置权限进入权限页面,这都是在Role的Action中做的跟他的改动感觉几乎相同,可是须要注意的是从设置权限进入到分配权限传递的是id.进入页面后我们须要回显,而且将全部的权限数据都显示在分配权限的页面中,这都是要准备的. 以下就在RoleA

ongl表达式中得到对象,调用对象方法(OA项目权限显示模块)

在用户是否拥有某项权限的问题  是这样解决的: 用户登录之后  登录信息是保存在session域中的  通过el表达式可得到登录的对象信息  那么怎样判断用户是否拥有某项权限呢 ?如果没有上图中的判断 那么登录或者不登录  访问首页的时候 就会显示所有的权限列表(即操作菜单) 这些权限信息是在服务器启动的时候  检索并且保存在了application中的(可以看上一篇博客总结)  所以在遍历的时候 如果不加判断  默认显示的是所有的权限信息  即操作菜单 首先理清思路  user用户 中存在ro

项目一:第十三天 1、菜单数据管理 2、权限数据管理 3、角色数据管理 4、用户数据管理 5、在realm中动态查询用户权限,角色 6、Shiro中整合ehcache缓存权限数据

1 课程计划 菜单数据管理 权限数据管理 角色数据管理 用户数据管理 在realm中动态查询用户权限,角色 Shiro中整合ehcache缓存权限数据         2 菜单数据添加 2.1 使用combotree父菜单项数据     1. 页面:menu_add.jsp 2. 修改组件样式:easyui-combotree,修改url  树型表格treeGrid跟下来数combotree要求数据格式基本一致. Combotree通过text属性展示文本.   3. 使用treegrid组件的

12天OA项目

OA(Office Automation):办公自动化--辅助管理,提高办公效率的系统. OA的功能: 文字处理,申请审批,办公用品管理,公文管理,会议管理,资料管理,知识管理,电子邮件等... 根据用户实际需求确定实际项目的功能. BBS--论坛 CRM--客户关系管理系统 CMS--内容管理系统 1.软件开发的简单步骤: <1.需求分析 <2.分析设计 <3.编码实现 <4.测试验证(修改) <5.部署与后期维护 2.每个步骤具体要做什么,谁来做? 3.我们要做什么? 设

【Java EE 学习第58-67天】【OA项目练习】【SSH整合JBPM工作流】【JBPM项目实战】

一.SSH整合JBPM JBPM基础见http://www.cnblogs.com/kuangdaoyizhimei/p/4981551.html 现在将要实现SSH和JBPM的整合. 1.添加jar包 (1)jbpm项目/lib目录下的所有jar包和根目录下的jbpm.jar包放入/WEB-INF/lib文件夹下,同时删除tomcat服务器/lib文件夹中的el-api.jar包. 注意:必须删除el-api.jar包,该jar包和jbpm项目中需要使用到的三个jar包冲突了:juel-api