js控制shiro权限 并封装成jquery插件

百度了几篇博客,没有找到自己想要的效果,于是自己查看shiro判断权限源码写了一个js版

shiro源码(想要直接使用的可以跳过)

在这里插入图片描述
js控制shiro权限 并封装成jquery插件_第1张图片
通过这两个图我们可以清楚的了解到shiro判断是否存在权限的判断原理,那么接下来我们参考shiro标签 hasPermission 就可以仿照写一个jquery的shiro

如何使用

1.首先登陆时把权限放到session里面

session.setAttribute("permissions", 你查询到的权限集合转变成以,分割的字符串);

2.然后前台获取这个session变量放到全局上
beetl


jsp


3.jquery插件代码封装

;
(function($) {
	//转变成数组
	var permissionArr = new Array();
	if(permissions){ //这里相当于隔离了未登录
		permissionArr = permissions.split(",");
//		console.log(permissionArr);
	}
	$.extend({
		shiro:{
			hasPermission:function(permission){
			    var i = 0, length = permissionArr && permissionArr.length;
			    for (; i < length; i++) if (permissionArr[i] === permission) return true;
			    return false;
			}
		}
	});
})(jQuery, undefined);

4.如何使用
就和shiro标签一样使用

	            	if($.shiro.hasPermission('/systemUser/resetPwd')){
	            		"存在权限后,你要显示的内容"
	            	}

ps

有什么不明白的可以随时私信我

你可能感兴趣的:(shiro)