作者: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. 并发编程 10—— 任务取消 之 关闭 ExecutorService

    Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...

  2. c#中对json数据的序列化和反序列化(笔记)

    今天遇到在后台中要获取json格式数据里的某些值,网上查了些资料: string jsonstr = _vCustomerService.LoadCustomerbyNumTotalData(quer ...

  3. UE3:SkeletalMesh的绘制流程

    [目标] SkeletalMesh的绘制流程 [思路] 1 顶点缓冲流 静态数据流向 动态数据流向(紫红色箭头) 2 FGPUSkinVertexFactory.ShaderDataType.Bone ...

  4. IIs配置文件存放路径

    IIS 5 中,IIS的配置文件在: C:\WINNT\system32\inetsrv\MetaBase.bin IIS 6 中,IIS 的配置文件在: C:\WINDOWS\system32\in ...

  5. cocopods 知识集合 及 一个 好的 国外iOS技术翻译站

    http://www.exiatian.com/cocoapods%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%8F%8A%E9%85%8D%E7%BD%AE%E7% ...

  6. 《Java中的不可变类》

    //不可变类举例: /* 下面程序试图定义一个不可变类Person类,但=因为Person类包含一个引用类型的成员变量, 且这个引用类是可变类,所以导致Person类也变成了可变类. */ class ...

  7. android 拉伸图片

    Android拉伸图片用的是9.png格式的图片,这种图片可以指定图片的那一部分拉伸,那一部分显示内容,美工给的小图片也能有很好的显示效果. 原背景图片 可以看到原背景图片很小,即使在再长的文字,背景 ...

  8. plist文件真机写入方法

    http://blog.csdn.net/mydo/article/details/50290219  转 但是这对真机不管用,因为在真机环境下,App在Xcode中的Resources文件夹都是不可 ...

  9. hdu 2059

    ps:终于解决了....卡了我好久.最后用了DP.然后还有记忆化搜索优化了一下.终于AC了 思路:要计算dp[n](就是到第n个站的最短时间,也就是最优方案),必须知道dp[0]到dp[n-1] 设j ...

  10. 关于Let和var声明变量的区别

    Let是ES6中添加进来的一个关键字,用于声明变量,其法与var声明变量相同,不同点在于其作用域(块级). 举例可以看出其具体差别 for(var i=0;i<5;i++){ console.l ...