转自: https://blog.csdn.net/xdd19910505/article/details/51926540

因为做了权限的项目经理,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. 权限管理——用户认证和用户授权

    因为做了权限的项目经理,so,恶补一下一个权限框架:shiro.其实作为框架首要目标是易于使用和理解.安全有时候是很复杂的,甚至是痛苦的,但框架没有必要这样.框架应该尽可能掩盖复杂的地方,露出一个干净 ...

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

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

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

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

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

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

最新文章

  1. python上机实验报告读取文件_Python程序设计实验报告八 : 文件
  2. DSP程序中段的定义和作用
  3. Chapter 5. Expressions
  4. syslog()的基本用法
  5. 9. 弹出键盘挡住input
  6. pythonifnotnone_使用 if x is not None 还是if not x is None
  7. dqn系列梳理_DQN是学习归纳出了策略,还是仅仅是memorize了大量的episodes?
  8. webStorm编辑器(左侧目录)如何显示、隐藏?
  9. 小米电动车官宣!雷军:今晚发布会跟大家仔细说
  10. 升级openssh版本
  11. 万达9.3亿美元并购北欧最大院线 全球市场份额逼近20%
  12. scalar2color
  13. python调试利器pysnooper
  14. mysql 索引优化分析
  15. dell linux 无线网卡驱动,DELL D630安装CentOS6的无线网卡驱动
  16. SolidWorks自定义装配体模板的方法
  17. 图像分类之CutMix论文阅读
  18. dreamweaver cs6 的破解方法
  19. 微信jsapi支付流程
  20. 【高项备考】多种类型计算题学习

热门文章

  1. [2020多校A层11.18] 三角田地(因式分解)
  2. P4827 [国家集训队] Crash 的文明世界
  3. Link-Cut Tree
  4. 【Acwing 219. 剪纸游戏】
  5. 模板:Prufer序列
  6. CF446D-DZY Loves Games【高斯消元,矩阵乘法】
  7. [gdoi2018 day1]小学生图论题【分治NTT】
  8. YbtOJ#643-机器决斗【贪心,李超树】
  9. 欢乐纪中B组周六赛【2019.3.9】
  10. P2522-[HAOI2011]Problem b【莫比乌斯反演】