龙空技术网

shiro 标签不能在html中应用的解决方案

爱音乐的程序员小新人 147

前言:

现时大家对“jsp引用外部css”都比较关心,看官们都需要分析一些“jsp引用外部css”的相关知识。那么小编同时在网摘上网罗了一些对于“jsp引用外部css””的相关资讯,希望兄弟们能喜欢,我们快快来学习一下吧!

shiro提供jsp标签,html属于静态页面,没办法引入。解决办法:

1.把html换成jsp。

2.用js判断:

原理参照:

实现的方式大同小异,我这边实现的是根据权限显示元素。

①为html页面元素的添加class:shiro-myself 和name : sys:user:delete

 <a id="btnExit" name="sys:user:delete" class="easyui-linkbutton shiro-myself" data-options="plain: true, iconCls:'sn-exit'">退出系统</a>

②js获取元素,比较权限

$(function(){var permissions = getPermissionStringList();});function getPermissionStringList(){	 $.ajax({	 type: "post",	 url: JSmile.baseUrl+"/sys_user/getPermissionStringList",	 contentType: 'application/json;charset=utf-8',	 success: function (data) {	 		 	var data1 = eval('(' + data + ')');	 		 	var resData =data1.resData;	 	//获取权限集合	 	var rows = resData.rows;	 	//选取class = shiro-myself 的标签	 	$(".shiro-myself").each(function(){	 	 		var name = $(this).attr("name");	 	 var index = $.inArray(name,rows);	 	 if(index < 0){	 	$(this).css('display','none');	 }	 });	 		 }

③后台实现方法

AuthorizationInfo authorizationInfo = shiroDbRealm.doGetAuthorizationInfo(SecurityUtils.getSubject().getPrincipals()) ;permissionList=castSetToList((HashSet<String>) authorizationInfo.getStringPermissions());			

当然,学会shiro之后,这些都是小边角料,会者不难。

标签: #jsp引用外部css