因为做了权限的项目经理,so,恶补一下一个权限框架:shiro。其实作为框架首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但框架没有必要这样。框架应该尽可能掩盖复杂的地方,露出一个干净而直观的API,来简化开发人员在使他们的应用程序安全上的努力。

Apche Shiro就是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。说到Shiro,就要说一下什么是权限管理。权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。权限管理包括用户认证和授权两部分。

用户认证

其实大多数系统都会有用户认证,因为大多数系统都有用户的存在,有用户使用系统就要登录。通常我们使用的用户认证也就是通过验证用户名和密码是否正确。或者再常用的是使用指纹打卡机。系统验证了用户身份的合法性,用户就可访问系统的资源。但是想要不同用户有资源,就引出了用户授权。

关键对象

Subject:主题,可以使用户,也可能是程序,都要去访问系统的资源,系统需要对subject进行身份认证。

principal:身份信息,通常是唯一的,一个主题还有多个身份信息,单都有一个主身份信息(Primary Principal)。

Credential:凭证信息,可以是密码、证书、指纹。

用户认证流程

其实用户认证,就是主体在进行身份认证时需要提供身份信息和凭证信息。

用户授权

用户授权就是对用户所能访问的资源进程控制。授权过程可以理解为:who对what进行how操作。

关键对象

who:主题,即上文的subject

what:资源,resource,subject必须具备资源的访问权限才可访问资源。

how:权限/许可permission,针对资源的权限或许可,subject具有permission访问资源,如何访问需要定义permission。

用户授权流程

其实,用户认证就是在用户登录的时候认证用户是否存在,密码是否正确。在用户登录之后是什么样子,就要靠授权了,首先给不同的用户分配不同的角色,然后给不同的角色授权不同的资源,不同的用户也就有了不同的权限,即可使用或者可看到的资源就会因人因角色而异了。

权限管理——用户认证和用户授权相关推荐

  1. Shiro用户认证和用户授权流程

    有时候觉得'如约而至'是个多么美好的词,等的很辛苦,却不辜负.--<匿名> 1.引言 传统权限管理使用基于url拦截的权限管理方式,实现起来比较简单,不依赖框架,使用web提供filter ...

  2. java权限管理+授权与认证_权限管理(认证和授权)

    什么是权限管理 基本涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源. 权限管理 ...

  3. MongoDB增加用户认证:增加用户、删除用户、修改用户密码、读写权限、只读权限...

    MongoDB增加用户认证:增加用户.删除用户.修改用户密码.读写权限.只读权限 说明:增加用户是针对数据库进行操作    www.2cto.com   1.进入到数据库 use dbname 2.针 ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)...

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框 ...

  5. MongoDB增加用户认证: 增加用户、删除用户、修改用户密码、读写权限、只读权限

    MongoDB增加用户认证: 增加用户.删除用户.修改用户密码.读写权限.只读权限 - 半叶寒羽

  6. 转:权限管理——用户认证和用户授权

    转自: https://blog.csdn.net/xdd19910505/article/details/51926540 因为做了权限的项目经理,so,恶补一下一个权限框架:shiro.其实作为框 ...

  7. linux中的权限管理,Linux中的用户和权限管理

    Linux是多用户,多任务操作系统:多用户是指多个用户可以同时使用系统资源,而多任务指同时运行多个进程. 用户是能够获取系统资源的权限的集合,Linux通过用户实现资源分隔. 用户组是具有相同特征用户 ...

  8. Shiro与SpringBoot整合,实现登录拦截、用户认证、用户授权等。实战demo

    文章目录 开篇必读: 一.开发环境 二.项目搭建 三.配置 shiro 配置类 1.自定义 Realm 类. 2.创建shiro配置类. 四.创建页面.Controller. Service等. 五. ...

  9. Cassandra--启用用户认证和用户管理

    ======================================================== 启用用户认证和创建超级用户 需要针对每个节点进行配置修改和重启,但授权操作仅需要在任一 ...

最新文章

  1. springboot 订单重复提交_Spring Boot (一) 校验表单重复提交
  2. 在jQuery中删除事件处理程序的最佳方法?
  3. idea创建springboot项目出现的问题
  4. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...
  5. 《统计学习方法》的Python 3.6复现,实测可用
  6. [GXOI/GZOI2019]宝牌一大堆(dp)
  7. java 不规则图形_java 根据点画不规则封闭图形
  8. mqdf matlab,mexopenCV的配置学习过程
  9. 多视几何_计算一副图像上的点在另一福图像上的对应点
  10. AngularJs-指令1
  11. ROW_NUMBER() OVER()函数用法;(分组,排序),partition by (转)
  12. ArcView,ArcGis,MapObjects,ISRI有什么区别
  13. sigmoid函数推导过程
  14. springboot 实现图片合并
  15. 黑龙江测绘局事业单位2009拟聘人员公示
  16. unbuntu20.04 安装mysql
  17. 苹果6运行内存是多少_iPhone 12为什么不标注运行内存?安卓转苹果手机是入11还是入12呢?...
  18. python绘制图形界面(一)
  19. 关于什么是物联网?没有比这篇文章更全的了
  20. 稳住不慌:运维职业成长路线规划

热门文章

  1. Django的MVT的思路
  2. BrandHouse在蓝筹中国基金领投的首轮融资中筹得400万欧元
  3. Ubuntu20.4 ROS2 foxy movelt2
  4. 1.3.3 什么是好莱坞法则
  5. 淮南师范学院计算机组成原理试卷,淮南师范学院物化试卷J
  6. 关于服务器被入侵+植入病毒木马
  7. 圆满收官,百花齐放!2022企业级低代码应用大赛获奖结果公布
  8. 【光学】基于matlab涡旋光产生【含Matlab源码 1927期】
  9. Git【入门】这一篇就够了
  10. 写综述前应如何快速、高效地阅读相关文献?