039 权限数据管理 - bos

一、初始化权限数据

1.系统运行所以须的基础数据

2.运行sql

INSERT INTO `auth_function` VALUES (‘11‘, ‘基础档案‘, ‘jichudangan‘, null, null, ‘1‘, ‘0‘, null);
INSERT INTO `auth_function` VALUES (‘112‘, ‘收派标准‘, ‘standard‘, null, ‘page_base_standard.action‘, ‘1‘, ‘1‘, ‘11‘);
INSERT INTO `auth_function` VALUES (‘113‘, ‘取派员设置‘, ‘staff‘, null, ‘page_base_staff.action‘, ‘1‘, ‘2‘, ‘11‘);
INSERT INTO `auth_function` VALUES (‘114‘, ‘区域设置‘, ‘region‘, null, ‘page_base_region.action‘, ‘1‘, ‘3‘, ‘11‘);
INSERT INTO `auth_function` VALUES (‘115‘, ‘管理分区‘, ‘subarea‘, null, ‘page_base_subarea.action‘, ‘1‘, ‘4‘, ‘11‘);
INSERT INTO `auth_function` VALUES (‘116‘, ‘管理定区/调度排班‘, ‘decidedzone‘, null, ‘page_base_decidedzone.action‘, ‘1‘, ‘5‘, ‘11‘);
INSERT INTO `auth_function` VALUES (‘12‘, ‘受理‘, ‘shouli‘, null, null, ‘1‘, ‘1‘, null);
INSERT INTO `auth_function` VALUES (‘121‘, ‘业务受理‘, ‘noticebill‘, null, ‘page_qupai_noticebill_add.action‘, ‘1‘, ‘0‘, ‘12‘);
INSERT INTO `auth_function` VALUES (‘122‘, ‘工作单快速录入‘, ‘quickworkordermanage‘, null, ‘page_qupai_quickworkorder.action‘, ‘1‘, ‘1‘, ‘12‘);
INSERT INTO `auth_function` VALUES (‘124‘, ‘工作单导入‘, ‘workordermanageimport‘, null, ‘page_qupai_workorderimport.action‘, ‘1‘, ‘3‘, ‘12‘);
INSERT INTO `auth_function` VALUES (‘13‘, ‘调度‘, ‘diaodu‘, null, null, ‘1‘, ‘2‘, null);
INSERT INTO `auth_function` VALUES (‘131‘, ‘查台转单‘, ‘changestaff‘, null, null, ‘1‘, ‘0‘, ‘13‘);
INSERT INTO `auth_function` VALUES (‘132‘, ‘人工调度‘, ‘personalassign‘, null, ‘page_qupai_diaodu.action‘, ‘1‘, ‘1‘, ‘13‘);
INSERT INTO `auth_function` VALUES (‘14‘, ‘物流配送流程管理‘, ‘zhongzhuan‘, null, null, ‘1‘, ‘3‘, null);
INSERT INTO `auth_function` VALUES (‘141‘, ‘启动配送流程‘, ‘start‘, null, ‘workOrderManageAction_list.action‘, ‘1‘, ‘0‘, ‘14‘);
INSERT INTO `auth_function` VALUES (‘142‘, ‘查看个人任务‘, ‘personaltask‘, null, ‘taskAction_findPersonalTask.action‘, ‘1‘, ‘1‘, ‘14‘);
INSERT INTO `auth_function` VALUES (‘143‘, ‘查看我的组任务‘, ‘grouptask‘, null, ‘taskAction_findGroupTask.action‘, ‘1‘, ‘2‘, ‘14‘);
INSERT INTO `auth_function` VALUES (‘8a7e843355a4392d0155a43aa7150000‘, ‘删除取派员‘, ‘staff.delete‘, ‘xxx‘, ‘staffAction_delete.action‘, ‘0‘, ‘1‘, ‘113‘);
INSERT INTO `auth_function` VALUES (‘8a7e843355a442460155a442bcfc0000‘, ‘传智播客‘, ‘itcast‘, ‘‘, ‘http://www.itcast.cn‘, ‘1‘, ‘1‘, null);

二、添加权限数据

1.将function.hbm.xml中的主键生成策略设置为uuid

2.将admin/function_add.jsp页面的输入id的更改为关键字

<tr>
<td width="200">关键字</td>
<td>
<input type="text" name="code" class="easyui-validatebox" data-options="required:true" />
</td>
</tr>

3.修改父功能点这一栏的的textField和url属性,设置从Action获取数据

<tr>
<td>父功能点</td>
<td>
<input name="parentFunction.id" class="easyui-combobox" data-options="valueField:‘id‘,textField:‘name‘,url:‘functionAction_listajax.action‘"/>
</td>
</tr>

3.实现FunctionAction.listajax

/**
* 查询所有权限数据,返回json
*/
public String listajax(){
List<Function> list = functionService.list();
list2JsonAndWriteResponse(list, "parentFunction", "roles", "children");
return NONE;
}

4.实现FuctionService.list方法

@Override
public List<Function> list() {
return functionDao.list();
}

5.为保存按钮绑定单机事件,进行校验,通过则提交表单

$(function(){
// 点击保存
$(‘#save‘).click(function(){
//表单校验
var f = $("#functionForm").form("validate");
if(f){
//校验通过则提交表单
$("#functionForm").submit();
}
});
});

6.实现FunctionAction.add方法

@Override
public void save(Function model) {
Function parentFunction = model.getParentFunction();
if(parentFunction != null && parentFunction.getId().equals("")){
model.setParentFunction(null);
}
functionDao.save(model);
}

三、权限分页查询

1.修改页面数据表格的url为functionAction_pageQuery.action

2.实现FunctionAction.pageQuery方法,注意处理page属性被Function实体读取的问题

/**
* 权限数据分页查询
* @return
*/
public String pageQuery(){
//处理分页参数page和Function属性page冲突的情况
int currentPage = Integer.parseInt(model.getPage());
pageBean.setCurrentPage(currentPage);
//调用service进行分页查询
functionService.pageQuery(pageBean);
object2JsonAndWriteToResponse(pageBean, "parentFunction", "roles", "children");
return NONE;
}

时间: 2024-10-26 22:18:23

039 权限数据管理 - bos的相关文章

项目一:第十三天 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组件的

042 动态维护权限数据 - bos

1.修改BosRealm中的授权方法 //授权方法 @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { //创建授权信息对象 SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); //根据当前用户查询数据库,获取实际对应的权限 List<Function> list = null; //获

043 使用ehcache缓存权限数据 - bos

1.若不使用缓存,会频繁查询数据库,因此要为权限数据建立缓存 2.ehcache是一个缓存插件,可以缓存Java对象提高系统的性能 3.ehcache.xml配置文件样例 <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"> <diskStore pa

038 使用shiro的方法注解方式进行权限控制 - bos

1.在Spring的配置文件中开启shiro的注解支持 <!-- 开启shiro框架注解支持 --> <bean id="defaultAdvisorAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"> <!-- 表示必须使用cglib方式为Action创建动态代理对象 --> &l

BOS物流项目第十一天

教学计划 1.在realm中进行授权 2.使用shiro的方法注解方式权限控制 a.  在spring文件中配置开启shiro注解支持 b.  在Action方法上使用注解 3.使用shiro的标签进行权限控制 a.  在页面引入shiro的标签库 b.  在页面中使用标签 4.总结shiro提供的权限控制方式 a.  URL拦截权限控制 b.  方法注解权限控制 c.  页面标签权限控制 d.  代码级别权限控制(了解) 5.权限管理 a.  初始化权限数据 b.  添加权限功能 c.  权限

每天150亿起攻击 这是一个恐怖的企业安全故事!

信息安全问题,是牌匾上凌厉的"生人勿近",一旦遭遇,企业就只能自求多福?! 现实世界中,企业面临的安全威胁种类繁多,但真正的危险,是企业以为自己本身足够安全,殊不知威胁早已渗入内部,伺机而动. 全球最大的婚外恋网站Ashely Madison被黑,多国政客及许多世界顶级公司的高管也名列其中,随后他们相继离职,虽是一时的心猿意马,但信息安全问题使他们身败名裂. 美国零售商巨头Target 2013年才刚在九月拿到PCI-DSS合规认证,但在11月就被攻击,并在两个月内约有1.1亿用户数据

BOS项目 第7天(shiro权限框架进行认证和授权)

BOS项目笔记 第7天 今天内容安排: 1.权限概述(认证.授权) 2.常见的权限控制的方式(URL拦截权限控制.方法注解权限控制) 3.权限数据模型(权限表.角色表.用户表.角色权限关系表.用户角色关系表) 4.shiro框架入门 5.将shiro应用到bos项目中进行认证和授权 1. 权限概述 系统提供了很多功能,并不是所有的用户登录系统都可以操作这些功能.我们需要对用户的访问进行控制. 认证:系统提供的用于识别用户身份的功能(通常是登录功能)-----让系统知道你是谁?? 授权:系统提供的

BOS项目 第8天(权限管理添加、角色管理添加、用户管理添加、shiro权限框架使用ecache缓存)

BOS项目笔记 第8天 今天内容安排: 1.权限管理(初始化.查询.添加) 2.角色管理(添加.查询) 3.用户管理(添加.查询) 4.修改自定义Realm中的授权方法(基于数据库实现) 5.使用ehcache缓存权限数据 6.系统左侧菜单根据登录人的权限动态展示 1. 权限管理 1.1 初始化权限数据 执行sql脚本文件初始化权限数据: 1.2 权限分页查询 第一步:修改页面中datagrid的URL地址,访问FunctionAction的pageQuery的分页查询方法 第二步:创建Func

036 权限控制介绍 - bos

一.权限概述 1.认证:系统提供的用于识别用户身份的功能,通常登录功能就是认证功能-----让系统知道你是谁?? 2.授权:系统授予用户可以访问哪些功能的许可(证书)----让系统知道你能做什么?? 二.常见的权限控制方式 1.URL拦截权限控制 <1>底层基于拦截器或者过滤器实现 <2>用户访问某一url,在过滤器或拦截器中先判定该url是否需要拦截,若需要,则取出当前登录的用户,判定是否具有足够的权限 2.方法注解权限控制 <1>添加某一注解表示该方法需要进行权限控