11.权限的创建

  1. 权限(思路:1.先建一个权限的实体类,属性包括id,name,src,parent,child.  2.建立和角色的多对多关联  3.把要设置的所有权限设置到权限表中.  4.在jsp页面中显示所有权项,根据id集来传到action中,再根据当前对象设置当前对象的权限。)

14.1模型

 

 

1.2      实质

 

 

14.3具体要实现的功能

 

 

14.4步骤

 

 

设计实体

 

 

14.5实体类图

 

 

14.6javabean

 

 

角色类

 

 

14.7映射关系(一对多和多对多的映射配置)

 

 

 

14.8初始化数据(像他这样设置超级管理员,还有添加管理员的功能,然后把处理添加管理员之外的其他功能都付给管理员就行了)

public class Installer {

 

       @Resource

       private SessionFactory sessionFactory;

 

       @Transactional

       public void install() {

              Session session = sessionFactory.getCurrentSession();

 

              // ===================================================

              // 一、超级管理员

              User user = new User();

              user.setName("超级管理员");

              user.setLoginName("admin");

              user.setPassword(DigestUtils.md5Hex("admin")); // 要使用MD5摘要

              session.save(user); // 保存

 

              // ===================================================

              // 二、权限数据

              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));

 

              // -------------------------

 

              menu = new Privilege("网上交流", null, "FUNC20064.gif", null);

              menu1 = new Privilege("论坛管理", "forumManageAction_list", null, menu);

              menu2 = new Privilege("论坛", "forumAction_list", null, menu);

 

              session.save(menu);

              session.save(menu1);

              session.save(menu2);

 

              // -------------------------

 

              menu = new Privilege("审批流转", null, "FUNC20057.gif", null);

              menu1 = new Privilege("审批流程管理", "processDefinitionAction_list", null, menu);

              menu2 = new Privilege("申请模板管理", "applicationTemplateAction_list", null, menu);

              menu3 = new Privilege("起草申请", "flowAction_applicationTemplateList", null, menu);

              menu4 = new Privilege("待我审批", "flowAction_myTaskList", null, menu);

              menu5 = new Privilege("我的申请查询", "flowAction_myApplicationList", null, menu);

 

              session.save(menu);

              session.save(menu1);

              session.save(menu2);

              session.save(menu3);

              session.save(menu4);

              session.save(menu5);

       }

 

       public static void main(String[] args) {

              System.out.println("正在执行安装...");

 

              ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

              Installer installer = (Installer) ac.getBean("installer");

              installer.install();

 

              System.out.println("== 安装完毕 ==");

 

在角色action中通过set private设置角色的

设置权限:

 

 

设置权限页面:

 

 

18,判断是否有权限(核心:权限的判断其实就是判断你权限表里是否有这个名字或者uri地址)

18.1其实就是看你有没这个功能的uri地址

 

 

 

18.2 也可以判断当前用户是否有这个权限的名字(循环判断)

 

 

 

posted @ 2018-03-12 14:28  微尘chq  阅读(144)  评论(0编辑  收藏  举报