作者:var dump
链接:https://zhuanlan.zhihu.com/p/23300328

最近要做一个基于Java C/S架构的项目,主要涉及权限管理这方面的东西。了解到Apache Shiro适合做这个。其官网上教程写的很好,打算把这些教程翻译成英文,这是第一篇。

Apache shiro是什么?

Apache Shiro是一款强大、灵活的开源安全管理框架,以十分优雅的方式处理authentication(身份验证)、authorization(授权)、enterprise session(企业会话?)和cryptography()加密。

译者:一些在Shiro中的专用名词将不会译为中文,但译者会根据自己的理解在括号中给出中文释义。

Apache Shiro的首要目标就是易于上手和容易理解。在软件中,安全管理有时会非常复杂、痛苦,但Apache Shiro会让它变得非常简单。下面是Apache Shiro可以做的事:

  • 鉴别用户身份
  • 管理用户权限,例如:判断用户是否有某一角色或用户是否被允许做某一操作
  • 即使没有web或EJB容器,也可以使用session API
  • 在鉴别用户身份时、权限管理时或session生命周期内进行一些操作
  • 可以聚合一个或多个用户权限数据源并且以用户视图的形式统一表现出来
  • 实现了单点登录功能(SSO)
  • 无需登录便可实现“记住我”这一功能
    ...

那么Shiro可以用在哪些类型的应用中呢?小到命令行程序,大到企业级应用,Shiro几乎可以用在任何场景中。

Apache Shiro的特色

Apache Shiro是一款应用广泛的安全管理框架,有很多特色。下图展示了Shiro的整体架构,本系列教程也会以此为根据组织顺序。

 Shiro的目标是做好Authentication(身份鉴别)、Authorization(权限管理)、Session Management(会话管理)、Cryptography(加密)四个方面(这是软件安全的四大基石)。

  • Authentication(身份鉴别):有时指登录,鉴别用户的身份
  • Authorization(权限管理):决定用户是否有权访问某物
  • Session Management(会话管理):即使不是web应用也不是EJB应用,仍然可以管理具有明确用户的session(会话)
  • Cryptography(加密):利用加密算法保证数据安全

为了支持更多的应用场景,Shrio还具有其他特色:

    • 支持web应用
    • 缓存:保证了安全管理的速度和效率
    • 并发:支持多线程应用
    • 测试:可以通过单元测试和集成测试验证程序的安全性
    • “Run As”:允许用户将某一身份赋予另一用户(在一些行政管理软件中常用)
    • “Remember Me”:在Session(会话)期间记住用户身份,当只有强制要求登录是才需要用户登录

Apache Shiro简介的更多相关文章

  1. 【Shiro】一、Apache Shiro简介

    一.Apache Shiro简介 1.简介 一个安全性框架 特点:功能丰富.使用简单.运行独立 核心功能: Authentication(认证):你是谁? Authorization(授权):谁能干什 ...

  2. Shiro学习总结(1)——Apache Shiro简介

    1.1  简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比springSecurity,可能没有Spring Securit ...

  3. Apache Shiro 简介

    使用 Apache Shiro 为 web 应用程序进行用户身份验证 Shiro 是一个 Apache Incubator 项目,旨在简化身份验证和授权.在本文中,了解 Apache Shiro 并通 ...

  4. Apache Shiro和Spring Security的详细对比

    参考资料: 1)Apache Shiro Apache Shiro:http://shiro.apache.org/ 在Web项目中应用 Apache Shiro:http://www.ibm.com ...

  5. JAVAEE——BOS物流项目10:权限概述、常见的权限控制方式、apache shiro框架简介、基于shiro框架进行认证操作

    1 学习计划 1.演示权限demo 2.权限概述 n 认证 n 授权 3.常见的权限控制方式 n url拦截权限控制 n 方法注解权限控制 4.创建权限数据模型 n 权限表 n 角色表 n 用户表 n ...

  6. Apache Shiro 学习记录5

    本来这篇文章是想写从Factory加载ini配置到生成securityManager的过程的....但是貌似涉及的东西有点多...我学的又比较慢...很多类都来不及研究,我又怕等我后面的研究了前面的都 ...

  7. 第一章 Shiro简介——《跟我学Shiro》(转)

    目录贴:跟我学Shiro目录贴 1.1  简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可 ...

  8. Apache Shiro (一)

    参考博客: http://jinnianshilongnian.iteye.com/blog/2018398 1.shiro简介 Apache shiro 是一个JAVA框架,可用于身份难和授权.sh ...

  9. Shiro简介

    1.简介 Apache Shiro是一个功能强大且易于使用的Java安全框架,进行身份验证,授权,加密和会话管理,可用于保护任何应用程序 - 从命令行应用程序,移动应用程序到大型的Web应用和企业应用 ...

随机推荐

  1. “LC.exe”已退出,代码为 -1

    造成这个问题的原因一般是引入了第三方插件,自己遇到的问题是引入了devexpress...... 1.找到Properties文件夹licenses.licx文件,然后右键选择删除就可以了,调试运行正 ...

  2. ASP.NET MVC 4 RC的JS/CSS打包压缩功能 Scripts.Render和Styles.Render

    打包(Bundling)及压缩(Minification)指的是将多个js文件或css文件打包成单一文件并压缩的做法,如此可减少浏览器需下载多个文件案才能完成网页显示的延迟感,同时通过移除JS/CSS ...

  3. Js 冒泡事件阻止

    Js 冒泡事件阻止   1. 事件目标 现在,事件处理程序中的变量event保存着事件对象.而event.target属性保存着发生事件的目标元素.这个属性是DOM API中规定的,但是没有被所有浏览 ...

  4. uva 1660 & poj 1966(点连通度)

    Cable TV Network Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4267   Accepted: 2003 ...

  5. redis初步入门

    http://blog.csdn.net/u014419512/article/details/25693425 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+] 环境 安装 ...

  6. jpype调用jar

    import easyguiimport osfrom jpype import * jarpath = "d:\jar"print "jarPath: %s" ...

  7. OC面向对象—多态

    OC面向对象—多态 一.基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态. 在使用多态是,会进行动态检测,以调用真实的对象方法. 多态在代码中的体现即父类指针指向子类对象. ...

  8. 获取数据库里面最新的ID

    你如果新插入的一段资料,你想获取它的ID,就用   “mysql_insert_id()”; 并且要重新定义一个名称

  9. Mybatis根据表自动生成相关代码

    这个地方的生成需要用到三个文件,generatorConfig.xml.mybatis-generator-core-1.3.1.jar和mysql-connector-java-5.1.29.jar ...

  10. Spring配置中的classpath和classpath*的区别

    初学SSH框架,昨天在配置Spring的时候,提示我找不到Spring.xml文件,后面百度之后把classpath改成classpath* 就好了,下面是了解到的简单区别. classpath:只会 ...