用户权限设计(二)

上一篇文章:用户权限设计(一)

下面介绍一下权限的更新和验证

	@RequestMapping("authDemoSubmit")
	public String authDemoSubmit(@ModelAttribute("vm") UserAuth mUserAuth) {

		Map<String, List<String>> authMap = mUserAuth.getUserAuthMap();

		Iterator<Map.Entry<String, List<String>>> iterator = authMap.entrySet().iterator();
		while(iterator.hasNext( )) {
		    Map.Entry<String, List<String>> entry =iterator.next( );
		    String objId = entry.getKey( );// 获得对象id
		    String authOperate = list2string(entry.getValue());//获得操作权限
		    AuthAcc mAuthAcc = testService.getAuthAccByUserIdObjId("004", objId);//根据用户id和对象id获取权限表对象
		    if(mAuthAcc == null){
		    	// 如果权限为空,则插入一条数据
		    	mAuthAcc = new AuthAcc();
		    	mAuthAcc.setUserId("004");//用户id
		    	mAuthAcc.setObjId(objId);//对象id
		    	mAuthAcc.setAuthOperate(authOperate);//操作权限
		    	testService.saveAuthAcc(mAuthAcc);
		    }else{
		    	//如果权限不为空,则更新权限
		    	mAuthAcc.setAuthOperate(authOperate);//操作权限
		    	testService.updateAuthAcc(mAuthAcc);
		    }
		}

		return "redirect:authDemo.html";
	}

因为从画面返回的权限是一个list,所以要把这个list转换成string,增加了个方法

	private String list2string(List<String> lst){
		StringBuffer str = new StringBuffer();
		for(String s:lst){
			str = str.append(s);
		}
		return str.toString();
	}

接下来是权限的验证:

	@RequestMapping("authDemoRequest")
	public String authDemoRequest() {

		String requestOperate = "u";//假设请求的操作是更新操作,这个参数可以从前台页面传入

		//在请求某个对象功能的时候可以如下进行权限验证
		AuthAcc mAuthAcc = testService.getAuthAccByUserIdObjId("004", "001");//根据用户id和对象id获取权限表对象

		if(mAuthAcc == null){
			//没有权限,返回前画面
			return "front";
		}else{
			String authOperate = mAuthAcc.getAuthOperate();//获取用户对应的权限
			if(authOperate.contains(requestOperate)){
				//如果包含权限,则跳转到下个画面
				return "next";
			}else{
				//没有权限,返回前画面
				return "front";
			}
		}
	}
时间: 2024-08-04 21:59:57

用户权限设计(二)的相关文章

ASP.NET MVC +EasyUI 权限设计(二)环境搭建

请注明转载地址:http://www.cnblogs.com/arhat 今天突然发现博客园出问题了,老魏使用了PC,手机,平板都访问博客园了,都是不能正常的访问,原因是不能加载CSS,也就是不能访问common.cnblogs.com这个域名,一直出现"Aborted",非常的郁闷. 页面就是这样子的,不知道为什么,难道是不是我的3个终端有问题吧,还是园子的服务器有问题呢?还是路由器的问题呢?到现在这个问题还没解决,郁闷死了!弄得心情非常的不爽. 好吧,不在说这个问题了,开始我们的正

【数据库设计-2】权限设计-系统登录用户权限设计

需求分析---场景 假设需要为公司设计一个人员管理系统,并为各级领导及全体员工分配系统登录账号.有如下几个要求: 1. 权限等级不同:公司领导登录后可查看所有员工信息,部门领导登录后只可查看本部门员工的信息,员工登录后只可查看自己的信息: 2. 访问权限不同:如公司领导登录后,可查看员工薪水分布界面,而员工则不能看到: 3. 操作权限不同:如系统管理员可以在信息发布界面进行增删改查发布信息,而普通员工只可以在信息发布界面进行查看,不能修改.删除和新增. 功能分析 1. 登录一个系统,基本都需要用

通用用户权限设计

设计User表,Role表,UserRole表,Right表,RightRole表,Module表,Function表. 其中User表主要存放用户信息,Role表主要存放用户的角色,UserRole表主要是User和Role的关联关系,Right表主要存放一些权限,比如说新增某个按钮的权限,删除,查询某个东西的权限,RightRole表主要是角色拥有哪些权限的关联表.如果还有分层模块的话,就必须在Right表中关联Module表,module表主要是存放按钮或者某个权限在哪个模块,再建一张增删

基于角色的权限设计(二)

第一部分请參看:http://blog.csdn.net/snomyc520/article/details/38677861 针对这种需求,版本号一就无能为力了(当然你也能够添加几个功能:比方分类A的新闻起草和分类B的新闻起草,再把这个功能加入到对应的角色里面去,可是这个应该不是我们要得解决方式吧,只是版本号二也是基于这个思想来解决的). 事实上比新闻更好的样例是论坛板块的版主. 以下是版本号二的解决方式: 在版本号二的功能表中增加了一个ResourceType这个字段,这个字段用来表示对某个

权限设计-系统登录用户权限设计

需求分析-场景 假设需要为公司设计一个人员管理系统,并为各级领导及全体员工分配系统登录账号.有如下几个要求: 1. 权限等级不同:公司领导登录后可查看所有员工信息,部门领导登录后只可查看本部门员工的信息,员工登录后只可查看自己的信息: 2. 访问权限不同:如公司领导登录后,可查看员工薪水分布界面,而员工则不能看到: 3. 操作权限不同:如系统管理员可以在信息发布界面进行增删改查发布信息,而普通员工只可以在信息发布界面进行查看,不能修改.删除和新增. 功能分析 1. 登录一个系统,基本都需要用户输

用户权限设计(一)

我是springmvc加mysql加hibernate的环境,基础配置的东西就不写出来的,只把重点的写出来 1.数据表:一个三个表 (1) 用户表: (2)对象表 (3)用户关于对象对应的权限表 2.model对象 UserAuth.java public class UserAuth { private String userName; private Map<String, List<String>> userAuthMap; public String getUserName

百万年薪python之路 -- RBAC角色权限设计

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用户-角色-权限"的授权模型. 在这种模型中,用户与角色之间,角色与权限之间,一般都是多对多的关系. 角色是什么?可以理解为一定数量的权限的集合,权限的载体.例如:一个论坛系统,"超级管理员"."版主"都是角色.版主可管理版内的帖子.可管理版内的用户等,这些是权

java用户角色权限设计

实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个"非法用户"很可能就能通过浏览器轻易访问到B/S系统中的所有功能.因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的"非法用户"将会将他

RBAC用户权限管理数据库设计

http://minjiechenjava.iteye.com/blog/1759482 RBAC用户权限管理数据库设计 博客分类: RBAC 权限设计 RBAC RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用户-角色-权限"的授权模型.在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系.(如下图) 角色是什么?可以理解为一定数