aise5

跟風遠走 提交于 2019-11-26 19:12:26

1. 授权从数据库查询权限(掌握)

查询出所有数据权限
对登录用户权限处理
根据用户的ID拿到权限
根据登录用户查询用户权限
自定义权限拦截器

(1)shiro把所有的权限从数据库查询出来

(2)当前用户的它具备的权限查询出来交给shiro管理

(3)当我们来访问的时候,根据url(key) --去shiro是否有对应的value (shiro里面做判断处理,如果

发现你没有权限,返回的没有权限的页面)

2.如果没有权限返回权限页面 不能适用ajax(掌握)

我们重写shiro 的权限拦截器 PermissionsAuthorizationFilter

(1)写一个类去继承PermissionsAuthorizationFilter

(2)覆写处理失败的方法

​ 判断如果是ajax 就返回对应的json字符串

​ 否则返回原来的页面

3.菜单操作

从数据读取出菜单,每个人的菜单都不一样;

在页面展示的菜单的json 需要自己去构造出来;

[外链图片转存失败(img-mPp5YwzW-1565398185638)(C:\Users\0427\AppData\Roaming\Typora\typora-user-images\1565330778275.png)]

Menu里面 – 配置parent --配置children

发送sql 查询数据库菜单

 @Query("select m from Employee e join e.roles er join er.permissions p join p.menu m where e.id = ?1 ")
    public List<Menu> findMenuByLoginUser(Long userid);

4通过shiro的标签控制权限

<shiro:hasPermission name="employee:delete">
    <a href="#"  data-method="del" class="easyui-linkbutton" iconCls="icon-remove" plain="true">删除</a>
</shiro:hasPermission>

ve" plain=“true”>删除
</shiro:hasPermission>


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!