Shiro使用

  1. 授权

授权,也叫访问控制,即在应用中控制谁访问哪些资源(如访问页面/编辑数据/页面操作  等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限 

(Permission)、角色(Role)。 

主体(Subject)访问应用的用户,在 Shiro 中使用 Subject 代表该用户。用户只有授权  后才允许访问相应的资源。 

资源(Resource):在应用中用户可以访问的 URL,比如访问 JSP 页面、查看/编辑某些  数据、访问某个业务方法、打印文本等等都是资源。用户只要授权后才能访问。 

权限(Permission)安全策略中的原子授权单位,通过权限我们可以表示在应用中用户  有没有操作某个资源的权力。即权限表示在应用中用户能不能访问某个资源,如:访问用  户列表页面查看/新增/修改/删除用户数据(即很多时候都是CRUD(增查改删)式权限控  制)等。权限代表了用户有没有操作某个资源的权利,即反映在某个资源上的操作允不允  许。 

•  Shiro 支持粗粒度权限(如用户模块的所有权限)和细粒度权限(操作某个用户的权限, 

即实例级别的) 

角色(Role)权限的集合,一般情况下会赋予用户角色而不是权限,即这样用户可以拥有  一组权限,赋予权限时比较方便。典型的如:项目经理、技术总监、CTO、开发工程师等  都是角色,不同的角色拥有一组不同的权限。 

 

    1. 授权方式

Shiro 支持三种方式的授权:

 

编程式:通过写if/else 授权代码块完成

注解式:通过在执行的Java方法上放置相应的注解完成,没有权限将抛出相应的异常

JSP/GSP 标签:在JSP/GSP 页面通过相应的标签完成

 

hasAnyRoles 标签:如果当前Subject有任意一个  角色(或的关系)将显示body体内容

 

lacksRole:如果当前 Subject 没有角色将显  示 body 体内容

hasPermission:如果当前 Subject 有权限  将显示 body 体内容

lacksPermission:如果当前Subject没有权  限将显示body体内容。

 

  1. 数据库存储初始化资源和权限

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值