一、权限管理的定义

权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。本系统是需要进行用户的权限验证。

二、权限管理分类

从控制力度来看,可以将权限管理分为两大类:

1,功能级权限管理;

2,数据级权限管理。

从控制方向来看,也可以将权限管理分为两大类:

1,从系统获取数据,比如查询订单、查询客户资料;

2,向系统提交数据,比如删除订单、修改客户资料。

本系统将使用控制方向的权限进行管理。

三、权限管理技术实现

按照权限管理的力度,逐步介绍权限管理实现技术。

3.1,  功能权限管理技术实现

功能权限管理技术,一般就使用基于角色访问控制技术RBAC(Role Based Access Control)。该技术被广泛运用于各个系统,非常容易掌握。该技术模型如下图示:

权限设置

一般来说,系统提供如下功能:

1,角色管理界面,由用户定义角色,给角色赋权限;

2,用户角色管理界面,由用户给系统用户赋予角色。

3,系统还支持用户定义权限,这样新增功能的时候,可以将需要保护的功能添加到系统。

权限验证

功能级的权限验证逻辑非常简单。查看该当前登录用户的角色是否包含该功能的权限。如果有,则表示有权访问,否则表示无权访问。

对于WEB系统,一般定义一个Filter就可以完成权限验证,无需在各个程序入口进行权限判断。程序伪代码如下:

// 获取访问功能

String url=request.getRequestPath();

// 进行权限验证

User user=request.getSession().get("user");

boolean permit=PrivilegeManager.permit( user, url );

if(permit ) {

chain.doFilter(request, response );

} else {

// 可以转到提示界面

}

java程序用户权限管理,java用户管理权限相关推荐

  1. 编写运行最简单的java程序——使用记事本编写java程序

    编写运行最简单的java程序--使用记事本编写java程序 第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还 ...

  2. intellij-IDE运行Java程序报错:java: -source 1.5 中不支持 lambda 表达式 有用

    intellij-IDE运行Java程序报错:java: -source 1.5 中不支持 lambda 表达式 2017年12月29日 15:04:15 佛空如水 阅读数:795 报错: 解决: 第 ...

  3. java编译程序的基本命令是什么,【填空题】Java中编译java 程序的命令是 1 ,执行java程序的命令是 java 。...

    [填空题]Java中编译java 程序的命令是 1 ,执行java程序的命令是 java . 更多相关问题 [多选] 下列骨折中属于关节外骨折的是(). [多选] 骨折早期局部的并发症包括(). [多 ...

  4. 编译运行一个java程序_如何从另一个Java程序编译和运行Java程序

    编译运行一个java程序 Have you ever thought if it's possible to compile and run a java program from another j ...

  5. java女程序员工作_女生适合做java程序员吗 女java程序员好找工作

    女生适合做java程序员吗 女java程序员好找工作?随着IT行业的飞速发展,程序员越来越受到重视,一些性格比较强势的女生,就也想加入到Java程序员的行列,因为他们感觉女生做这样的事情不会比男生差, ...

  6. Stack Overflow : 55.9%的Java程序员想“抛弃”Java

    著名网站StackOverflow每年都会搞一个开发人员的调查,今年有65000名全世界的程序员参与,他们来自于这些地方: 美国和印度的圈圈都很大,加拿大,西欧等国,巴西的圈圈也不小, 中国的圆圈就有 ...

  7. 定时执行java程序_如何让Java程序定时运行

    由于项目开发的需要,必须实现让一个Java程 序定时运行.比如,我的项目中,有一个网络蜘蛛,需要从互联网上抓取数据,与其配合,有另一个程序来对新抓取的页面进行索引的创建,由于数据源更新频率不 高,我们 ...

  8. 简单java程序_简单的Java程序

    简单java程序 Simple java programs are good for assessing the coding skills of a programmer. You will fin ...

  9. Java程序员必备!java语言程序设计课后答案张思民

    前言 在学习Java基础的过程中,泛型绝对算得上是一个比较难理解的知识点,尤其对于初学者而言,而且就算是已经有基础的Java程序员,可能对泛型的理解也不是那么透彻,属于那种看了明白,时间长了就忘的那种 ...

  10. java程序讲解_3、Java程序讲解

    HelloWorld.java public class HelloWorld { public static void main(String[] args) { System.out.printl ...

最新文章

  1. pandas案例分析
  2. python面向对象编程138讲_Python---面向对象编程-1
  3. Android Studio中的代码格式快捷方式
  4. 微服务架构下的组件需求
  5. DJANGO,获取当前用户名,用户组名,用户组权限
  6. Windows Server 2003 SP2 RIS 配置问题
  7. docker中linux用户名密码,linuxea:尽可能不在docker镜像中嵌入配置或者密码
  8. 大数据可视化常见的三种错误
  9. B站游戏大佬飘了?深挖B站辱北邮事件经过:不是第一次
  10. 【Zookeeper学习】Zookeeper-3.4.6安装部署
  11. 34. login-shell 和 环境变量
  12. xp php环境搭建 iis,Windows XP环境下快速配置IIS+PHP详细过程
  13. 白帽子讲web安全读后感1
  14. 如何安装故障恢复控制台
  15. (转)计算机视觉领域大牛的博客以及研究机构
  16. 由114.114.114.114和8.8.8.8学习DNS
  17. 互联网的那点事:商业模式、开放平台、开放开源标准
  18. 千里之行始于足下,Python编写进度条
  19. 计算机图画大赛作品六年级,小学六年级优秀绘画作品图片精选
  20. YMIR2.0易用手册---视频教程

热门文章

  1. 解码斯坦福开源狗DogGo--附硬件清单、源码、图纸、论文
  2. CCNA学习指南 TCP/IP
  3. 机器学习笔记 - 基于最简单的编码器/解码器架构SegNet进行语义分割
  4. flightgear通过UDP协议输出飞行态势数据以及利用C++接收flightgear数据
  5. PDFLib中文显示及去水印
  6. ajax保持会话,Ajax请求会话过期处理(JS)
  7. 教育主管部门管理效率、学生学习效率及教师工作效率
  8. 谈谈如何学习R语言基础教程
  9. 身份证OCR识别SDK
  10. 网页调用智能IC卡读写器的解决方案