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

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

1.把html换成jsp。

2.用js判断:

 原理参照:https://blog.csdn.net/fusugongzi/article/details/75221407

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

①为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之后,这些都是小边角料,会者不难。

转载于:https://my.oschina.net/gxs2012/blog/2172804

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值