业务背景:某公司要实现一个日志系统,用来了解员工的工作量饱和情况。

需求:

1、角色分为:员工、经理 两种。

2、员工每天在日志系统中填报工作总结,然后经理进行点评。

3、表单内容包含:姓名、日期、工作总结、个人笔记、日志点评。

业务权限描述

1、  员工可以进行日志填报、查看操作。(按钮控件权限)

2、  经理可以进行日志点评、查看操作。(按钮控件权限)

3、  个人笔记 内容只对填报本人可见,经理不能看到 个人笔记内容。(表单字段权限)

4、  经理只可以编辑 日志点评 字段。(表单字段权限)

5、  员工查询出的数据列表列为

姓名、日期、个人笔记、日志点评 (数据列权限)

6、  经理查询出的数据列表列为

姓名、日期、日志点评 (数据列权限)

7、  员工只可以看到自己填报的日志记录。 (数据行权限)

开发过程

1、  创建表单:

2、  编辑页面属性

3、  同步数据库

4、  测试查看表单内容如下

5、  生成代码

6、  把代码copy到项目中。

7、  新建两个角色:员工、经理;新建三个用户:员工小A,员工小B,王经理。并分配对应的角色。

8、  配置菜单

9、  给员工与经理角色分配菜单

使用王经理登录,测试可以看到 工作日志 菜单了。但要求的权限还没有进行控制。而且生成的页面样式有点问题。

10、  调整页面样式,修改按钮文字、删除不用的按钮。

权限配置:

权限描述如下

1、  员工可以进行日志填报、查看操作。(按钮控件权限)

配置 日志点评 按钮不可见,并对员工角色起作用。

A、在代码中,日志点评按钮增加 operationCode="update"

B、在菜单管理中,为 工作日志 菜单加控件权限:日志点评隐藏

C、在角色管理中,员工角色使用此权限控制。

D、测试,可以发现使用员工A和员工B登录已经看不到 日志点评 了。

2、  经理可以进行日志点评、查看操作。(按钮控件权限)

配置 日志填报 按钮不可见,并对经理角色起作用。

过程同上一项。

3、  员工查询出的数据列表列为

姓名、日期、个人笔记、日志点评

经理查询出的数据列表列为

姓名、日期、日志点评 (数据列权限)

配置 个人笔记 列隐藏,并对经理角色起作用。

A、 在员工日志下新增控件权限。

B、 对经理角色使用此权限。

C、 测试如下,王经理登录已经看不到个人笔记一列了。

4、  员工只可以看到自己填报的日志记录。 (数据行权限)

配置 datagrid 操作createBy =#{ sys_user_code}

A、新增访问类型的菜单。注意:一定要是访问类型。路径为列表查询action.

B、 对新加的访问类型菜单增加数据权限。

C、对员工角色使用此数据权限。

D、 分别使用员工A、员工B 录入数据。测试每个人只可以看到自己录入的数据。

5、  个人笔记 内容只对填报员工可见,经理不能看到 个人笔记内容。(表单字段权限)

配置 个人笔记 表单字段不可见,并对经理角色起作用。

A、 在新增页面,在<head></head>标签内引入<t:authFilter></t:authFilter>

在要隐藏的行标签上加上id或class属性如下图:

B、 新增访问类型菜单

C、 对新增加的菜单增加页面看空间权限配置

D、 对员工角色使用该权限控制。

E、  测试一下,发现成本在加人数页面已经没有了。

加权限以前如下:

6、  日志点评页面,经理只可以编辑 日志点评 字段。

日志点评页面把其它字段都使用readonly 属性。

这个功能说明:虽然权限配置起来很方便,但改变页面,或方法有时更方便。

完!

JEECG 简单实例讲解权限控制的更多相关文章

  1. 【JEECG技术博文】JEECG 简单实例解说权限控制

    JEECG简单实例解说权限控制 请大家点击这里为我们投票.2015博客之星.很多其他分享敬请期待 博文地址:http://blog.itpub.net/30066956/viewspace-18687 ...

  2. SNF快速开发平台2019-角色、权限、账户的概念理解-非常全的理论讲解权限控制

    组织模型   资源模型  操作模型 谁能够执行哪些操作    执行资源的范围 资源概念资源就是想要的到的最终物质,我们可以给每一个资源定义一个权限,也可以给某一类资源定义一个权限 权限概念权限是对资源 ...

  3. IOS中实例的权限控制

    @public.@protected.@private的使用 在OC中声明一个类的时候,可以使用上面 @public.@protected.@private三个关键字声明实例的权限,例如下面的代码: ...

  4. 简单实例讲解linux的module模块编译步骤

    注:原博文地址http://blog.sina.com.cn/s/blog_4ba5b45e0102v25h.html ---------------------------------------- ...

  5. SharePoint开发 - TimerJob简单实例讲解

    博客地址 http://blog.csdn.net/foxdave SharePoint中的TimerJob类似于Windows系统的计划任务,可以实现定时执行指定操作的功能. 本篇所述的实例为在Sh ...

  6. vue.js路由参数简单实例讲解------简单易懂

    vue中,我们构建单页面应用时候,一定必不可少用到vue-router vue-router 就是我们的路由,这个由vue官方提供的插件 首先在我们项目中安装vue-router路由依赖 第一种,我们 ...

  7. JS中的数学计算<之简单实例讲解>

    1.取余数   % var a=10%3; //a=1 2.取绝对值  Math.abs() var a=Math.abs(-102.1); var b=Math.abs(102.1); //a=10 ...

  8. appium跑demo简单实例讲解

    安装appium,设置 demo.pyfrom appium import webdriver #要装webdriver,方法查看http://www.cnblogs.com/sincoolvip/p ...

  9. Taurus.MVC 2.2.3.4 :WebAPI 实现权限控制认证(及功能增强说明)

    前言: 前两天,当我还在老家收拾行旅,准备回广州,为IT连的创业再战365天时, 有网友扣上问:Taurus.MVC中如何实现认证和权限控制,最好能做个小例子. 我一不小心回了句:等回广州我再写篇文章 ...

随机推荐

  1. RTMP协议发送H.264编码及AAC编码的音视频,实现摄像头直播

    RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系F ...

  2. python笔记19-获取当前运行函数名称和类方法名称

    前言 写完代码之后,一般为了方便查看日志,可以在日志输出中加入当前运行的函数名称或类和方法名称,以便于代码报错的时候能快速找到报错的是哪个函数或方法. 那么如何获取当前运行函数(或方法)的名称呢? 获 ...

  3. 代码高亮 highlightjs 使用文档

    使用方法 <link rel="stylesheet" href="../../assets/highlight/styles/default.css"& ...

  4. Spark应用程序运行的日志存在哪里(转)

    原文链接:Spark应用程序运行的日志存在哪里 在很多情况下,我们需要查看driver和executors在运行Spark应用程序时候产生的日志,这些日志对于我们调试和查找问题是很重要的. Spark ...

  5. .aspx(或.asp)文件与.html(.htm)文件的区别与联系

    由于都是用于描述网页文档的文件,自学asp.net起就对两者之间的关系很好奇 主要的区别在于,当用户请求页面时,它们在服务器的端的处理不同 下图解释客户端请求页面时,服务器端的处理流程: .html文 ...

  6. mysql的正则表达式

    所谓正在表达式,就是通过模式去匹配一类字符串.MySQL支持的模式字符如下表所示: MySQL支持的模式字符 模式字符 含义 ^ 匹配字符串的开始部分 $ 匹配字符串的结束部分 . 匹配字符串中的任意 ...

  7. 【Networking】(转)一个非常好的epoll+线程池服务器Demo

    (转)一个非常好的epoll+线程池服务器Demo Reply 转载自:http://zhangyafeikimi.javaeye.com/blog/285193 [cpp] /** 张亚霏修改 文件 ...

  8. java socket 编程经典实例

    服务器监听.并接收每个客户端的信息再群发到每个客户端 服务端 package com.java.xiong.Net17; import java.io.BufferedReader; import j ...

  9. 解决Windows server 2012 R2 系统使用IIS8浏览Asp程序出现"An error occurred on the server when processing the URL"错误

    进入IIS并将ASP里的“Send Error To Browser”设置为True后点击Appley保存即可 原因是IIS里的Asp设置禁用上当错误信息发送给浏览器,只要启用即可 如果没有Asp选项 ...

  10. Python网络爬虫 - 一个简单的爬虫例子

    下面我们创建一个真正的爬虫例子 爬取我的博客园个人主页首页的推荐文章列表和地址 scrape_home_articles.py from urllib.request import urlopen f ...