使用PermissionsAuthorizationFilter

在applicationContext-shiro.xml中配置url所对应的权限。

测试流程:

1、在applicationContext-shiro.xml中配置filter规则

<!--商品查询需要商品查询权限  -->

/items/queryItems.action = perms[item:query]

2、用户在认证通过后,请求/items/queryItems.action

3、被PermissionsAuthorizationFilter拦截,发现需要“item:query”权限

4、PermissionsAuthorizationFilter调用realm中的doGetAuthorizationInfo获取数据库中正确的权限

5、PermissionsAuthorizationFilter对item:query 和从realm中获取权限进行对比,如果“item:query”在realm返回的权限列表中,授权通过。

创建refuse.jsp

如果授权失败,跳转到refuse.jsp,需要在spring容器中配置:

aaarticlea/png;base64,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" alt="" />

Realm中进行授权

// 用于授权
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { // 从 principals获取主身份信息
// 将getPrimaryPrincipal方法返回值转为真实身份类型(在上边的doGetAuthenticationInfo认证通过填充到SimpleAuthenticationInfo中身份类型),
ActiveUser activeUser = (ActiveUser) principals.getPrimaryPrincipal(); // 根据身份信息获取权限信息
// 从数据库获取到权限数据
List<SysPermission> permissionList = null;
try {
permissionList = sysService.findPermissionListByUserId(activeUser.getUserid());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 单独定一个集合对象
List<String> permissions = new ArrayList<String>();
if (permissionList != null) {
for (SysPermission sysPermission : permissionList) {
// 将数据库中的权限标签 符放入集合
permissions.add(sysPermission.getPercode());
}
} // 查到权限数据,返回授权信息(要包括 上边的permissions)
SimpleAuthorizationInfo simpleAuthorizationInfo = new SimpleAuthorizationInfo();
// 将上边查询到授权信息填充到simpleAuthorizationInfo对象中
simpleAuthorizationInfo.addStringPermissions(permissions); return simpleAuthorizationInfo;
}

shiroWeb项目-授权(十一)的更多相关文章

  1. Android小项目之十一 应用程序的主界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  2. BOS物流项目第十一天

    教学计划 1.在realm中进行授权 2.使用shiro的方法注解方式权限控制 a.  在spring文件中配置开启shiro注解支持 b.  在Action方法上使用注解 3.使用shiro的标签进 ...

  3. 潭州课堂25班:Ph201805201 django 项目 第二十一课 文章主页 新闻列表页面功能 (课堂笔记)

    新闻列表页功能 1.分析 业务处理流程: 判断前端传的标签分类id是否为空,是否为整数.是否超过范围 判断前端传的当前文章页数是否为空,是否为整数.是否超过范围 请求方法:GET url定义:/new ...

  4. [项目构建 十一]babasport 购物车的原理及实现.

    今天来开始写一下关于购物车的东西, 这里首先抛出四个问题: 1)用户没登陆用户名和密码,添加商品, 关闭浏览器再打开后 不登录用户名和密码 问:购物车商品还在吗? 2)用户登陆了用户名密码,添加商品, ...

  5. 潭州课堂25班:Ph201805201 tornado 项目 第十一课 项目改进和优化(课堂笔记)

    使用  Bootstrap 前端框架 可以在 bootCDN 这里找 jquery ,poppe.js 文件 当聊天室发来一第图片链接时,自动保存图片到服务器,并保存相关信息到数据库,系统向该用户发出 ...

  6. SSM商城项目(十一)

    1.   学习计划 1.sso注册功能实现 2.sso登录功能实现 3.通过token获得用户信息 Ajax跨域请求(jsonp) 2.   Sso系统工程搭建 需要创建一个sso服务工程,可以参考e ...

  7. 潭州课堂25班:Ph201805201 django 项目 第十一课 手机号是否存在,短信验证分析 (课堂笔记)

    判断手机号是否注册功能实现 1.分析 请求方法:GET url定义:/mobiles/(?P<mobile>1[3-9]\d{9})/ 请求参数:url路径参数 参数 类型 前端是否必须传 ...

  8. IDEA项目搭建十一——添加拦截器、忽略URL大小写、启动事件

    程序启动时如果需要添加某些初始化代码可以使用以下事件处理 import org.springframework.context.ApplicationEvent; import org.springf ...

  9. shiroWeb项目-记住我(自动登陆实现)(十五)

    用户登陆选择“自动登陆”本次登陆成功会向cookie写身份信息,下次登陆从cookie中取出身份信息实现自动登陆. 用户身份实现java.io.Serializable接口便于反序列化 package ...

随机推荐

  1. PHP生成二维码并上传到七牛云

    参考资料 qr-code生成二维码    七牛云上传图片 实现步骤 //拿到插入后的id $res = DB::table('book_book')->insertGetId($data); i ...

  2. Pairs Forming LCM LightOJ - 1236 (算术基本定理)

    题意: 就是求1-n中有多少对i 和 j 的最小公倍数为n  (i <= j) 解析: 而这题,我们假设( a , b ) = n ,那么: n=pk11pk22⋯pkss, a=pd11pd2 ...

  3. windows下安装PyTorch0.4.0

    PyTorch框架,据说2018.4.25刚刚上架windows,安个玩玩 我的环境: windows 10 anaconda虚拟环境python3.6 cuda9.1 cudnn7 pytorch  ...

  4. 查询字符串(性能对比): Array Vs HashMap

    ip字符串长度: 15 ip count: 25 time - array:16ms, 查询次数:25000time - map:15ms, 查询次数:25000 ip count: 42 time ...

  5. CodeBlocks: 生成的exe文件自定义一个图标

    CodeBlocks生成的exe文件的图标默认是系统图标,如何自定义一个漂亮的小图标呢? 我是C菜鸟,平时只用CodeBlocks练习c,也不开发什么软件,这个问题就难倒我了. 到网上搜索了一下,发现 ...

  6. vi怎么查找关键字

    进入vi的命令模式,具体操作:编辑模式下键入“:”,此时进入命令模式 在命令模式下键入“/”.

  7. 代码实战之AdaBoost

    尝试用sklearn进行adaboost实战 & SAMME.R算法流程,博客地址 初试AdaBoost SAMME.R算法流程 sklearn之AdaBoostClassifier类 完整实 ...

  8. NOIP 普及组 2014 珠心算测验

    传送门 https://www.cnblogs.com/violet-acmer/p/9898636.html 题解: 枚举两两间出所有的可能加和,然后遍历一遍这 n 个数,找出满足条件的总个数. 这 ...

  9. mac idea merge后需要手动push到远程服务器

  10. 解决IIS8中 URLRewriter 不能使用的方法

    1.把应用程序池改成集成 2.的web.config 加入代码 <system.webServer> <validation validateIntegratedModeConfig ...