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 =da; //获取权限集合 var rows = re; //选取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 = ().getPrincipals()) ; permissionList=castSetToList((HashSet<String>) au());当然,学会shiro之后,这些都是小边角料,会者不难。