java程序用户权限管理,java用户管理权限
一、权限管理的定义
权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。本系统是需要进行用户的权限验证。
二、权限管理分类
从控制力度来看,可以将权限管理分为两大类:
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用户管理权限相关推荐
- 编写运行最简单的java程序——使用记事本编写java程序
编写运行最简单的java程序--使用记事本编写java程序 第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还 ...
- intellij-IDE运行Java程序报错:java: -source 1.5 中不支持 lambda 表达式 有用
intellij-IDE运行Java程序报错:java: -source 1.5 中不支持 lambda 表达式 2017年12月29日 15:04:15 佛空如水 阅读数:795 报错: 解决: 第 ...
- java编译程序的基本命令是什么,【填空题】Java中编译java 程序的命令是 1 ,执行java程序的命令是 java 。...
[填空题]Java中编译java 程序的命令是 1 ,执行java程序的命令是 java . 更多相关问题 [多选] 下列骨折中属于关节外骨折的是(). [多选] 骨折早期局部的并发症包括(). [多 ...
- 编译运行一个java程序_如何从另一个Java程序编译和运行Java程序
编译运行一个java程序 Have you ever thought if it's possible to compile and run a java program from another j ...
- java女程序员工作_女生适合做java程序员吗 女java程序员好找工作
女生适合做java程序员吗 女java程序员好找工作?随着IT行业的飞速发展,程序员越来越受到重视,一些性格比较强势的女生,就也想加入到Java程序员的行列,因为他们感觉女生做这样的事情不会比男生差, ...
- Stack Overflow : 55.9%的Java程序员想“抛弃”Java
著名网站StackOverflow每年都会搞一个开发人员的调查,今年有65000名全世界的程序员参与,他们来自于这些地方: 美国和印度的圈圈都很大,加拿大,西欧等国,巴西的圈圈也不小, 中国的圆圈就有 ...
- 定时执行java程序_如何让Java程序定时运行
由于项目开发的需要,必须实现让一个Java程 序定时运行.比如,我的项目中,有一个网络蜘蛛,需要从互联网上抓取数据,与其配合,有另一个程序来对新抓取的页面进行索引的创建,由于数据源更新频率不 高,我们 ...
- 简单java程序_简单的Java程序
简单java程序 Simple java programs are good for assessing the coding skills of a programmer. You will fin ...
- Java程序员必备!java语言程序设计课后答案张思民
前言 在学习Java基础的过程中,泛型绝对算得上是一个比较难理解的知识点,尤其对于初学者而言,而且就算是已经有基础的Java程序员,可能对泛型的理解也不是那么透彻,属于那种看了明白,时间长了就忘的那种 ...
- java程序讲解_3、Java程序讲解
HelloWorld.java public class HelloWorld { public static void main(String[] args) { System.out.printl ...
最新文章
- pandas案例分析
- python面向对象编程138讲_Python---面向对象编程-1
- Android Studio中的代码格式快捷方式
- 微服务架构下的组件需求
- DJANGO,获取当前用户名,用户组名,用户组权限
- Windows Server 2003 SP2 RIS 配置问题
- docker中linux用户名密码,linuxea:尽可能不在docker镜像中嵌入配置或者密码
- 大数据可视化常见的三种错误
- B站游戏大佬飘了?深挖B站辱北邮事件经过:不是第一次
- 【Zookeeper学习】Zookeeper-3.4.6安装部署
- 34. login-shell 和 环境变量
- xp php环境搭建 iis,Windows XP环境下快速配置IIS+PHP详细过程
- 白帽子讲web安全读后感1
- 如何安装故障恢复控制台
- (转)计算机视觉领域大牛的博客以及研究机构
- 由114.114.114.114和8.8.8.8学习DNS
- 互联网的那点事:商业模式、开放平台、开放开源标准
- 千里之行始于足下,Python编写进度条
- 计算机图画大赛作品六年级,小学六年级优秀绘画作品图片精选
- YMIR2.0易用手册---视频教程