JS中处理Shiro的权限标签问题
来源:互联网 发布:搜狗微信 php 爬虫 编辑:程序博客网 时间:2024/05/28 05:19
JSP中直接引用Shiro标签比较简单可以参考JSP / GSP 标签库-Shiro权限学习1:http://blog.csdn.net/ahou2468/article/details/71130582
JS中引用Shiro的标签不起作用的问题解决方法:
1.第一种情况假如js中生成标签代码是固定死的解决起来比较容易,直接在需要权限判断标签前和后加上权限控制标签,即可以起作用
<divid="leftnav"class="site-text"lay-filter="left">
</div>
<scripttype="text/javascript">
var ulHtml;
ulHtml += '<shiro:hasRole name="999999">'
ulHtml += '<i class="layui-icon" data-icon="' + data[i].children[j].icon +'">' + data[i].children[j].icon +'</i>';
ulHtml +='</shiro:hasRole>'$('#leftnav').html(ulHtml);
</script>
,但是假如Shiro标签name参数使动态传进去的则Shiro标签作用失效了,会导致是Shiro标签中所的html标签不管有没有权限都不显示,事例:<div id="leftnav" class="site-text" lay-filter="left">
</div>
<script type="text/javascript">
var ulHtml;
var name = "999999";
ulHtml += '<shiro:hasRole name="'+name+'">'
ulHtml += '<i class="layui-icon" data-icon="' + data[i].children[j].icon + '">' + data[i].children[j].icon + '</i>';
ulHtml +='</shiro:hasRole>'$('#leftnav').html(ulHtml);
</script>
这种情况我的解决方案是,在后台查询到用户的权限数据时直接放到Session中,js中不通过Shiro标签判断而是自己通过获取权限的url动态判断
/**
* Shiro身份认证+授权 重写
*
*/
public class SampleRealm extends AuthorizingRealm{
/**
* 授权处理
*/
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollectionprincipals) {
Long userId = TokenManager.getUserId();
SimpleAuthorizationInfoinfo =new SimpleAuthorizationInfo();
//根据用户ID查询角色和权限,放入到Authorization里。
Set<String> roles = roleService.findRoleByUserId(userId);
info.setRoles(roles);
//根据用户ID查询权限(permission),放入到Authorization里
Set<String> permissions = permissionService.findPermissionByUserId(userId);
info.setStringPermissions(permissions);
//权限数据时直接放到Session中
TokenManager.setVal2Session("permissions", permissions);
returninfo;
}
JS中可以通过Session中获取权限数据var pers = '<%=session.getAttribute("permissions")%>';
//将权限数据数组进行分割转为字符串数组,然后循环判断是否你访问的url元素在授权中,若在授权中动态生成html标签则显示,否则则隐藏掉
var resultpers = pers.replace('[','').replace(']','').split(',');
- JS中处理Shiro的权限标签问题
- js中使用shiro标签的一个小坑
- shiro自定义权限标签的坑
- shiro权限验证标签
- shiro权限验证标签
- shiro权限验证标签
- Shiro权限验证标签
- shiro权限验证标签
- shiro权限验证标签
- shiro权限验证标签
- Shiro权限标签
- shiro权限验证标签
- shiro权限验证标签
- shiro权限验证标签
- Shiro权限验证标签
- shiro权限验证标签
- shiro权限验证标签
- Spring Boot Shiro 权限信息缓存处理,记住我,thymleaf使用shiro标签
- Android如何解析json数组对象
- bzoj1598[Usaco2008 Mar]牛跑步 K短路模板 spfa+dij
- Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path 解决办法
- Android7.0调用系统相机拍照、相册选择图片、裁剪
- 比特币病毒来袭,教你关闭445端口(附打开方法)
- JS中处理Shiro的权限标签问题
- listView显示最后一行
- hdu 1003 Max Sum
- 全排列
- JAVA‘==’的使用方面
- 常用的20个正则表达式
- Swift 3 中函数参数的说明
- 数据结构 平衡树 Treap讲解
- 社交系统/社群系统“ThinkSNS+”H5及PC端终于来了!一起来“找茬”