Shiro参考中文版文档:1.1 介绍

2021-01-24 13:00 阅读

Shiro是什么?

Shiro是一个功能强大且灵活的开源安全框架,可以简洁地处理身份认证、授权、企业级session管理和加密。

Shiro的首要目标是容易使用和容易理解。安全问题有时会非常复杂,甚至会很痛苦,但这不是必须的。一个框架应尽可能隐藏复杂性,提供简洁直观的API,简化开发人员的工作。(这可能是指Spring Security)

您可以使用Shiro完成以下事情:

  • 认证用户身份
  • 控制用户的访问,例如:
    • 确定用户是否拥有某个角色
    • 确定用户是否允许执行某项操作
  • 可以在任何环境中使用Session API,即使没有Web或EJB容器
  • 在身份认证、访问控制或Session周期内对事件做出反应
  • 将一个或多个的用户安全数据,以一个“视图(view)”展现
  • 启用单点登录(SSO)功能
  • 启用“记住我”功能,而无需登录
  • 更多其它功能。所有功能都集成到了易于使用的内聚性API中

Shiro试图在所有环境中实现这些目标——从最简单的命令行到最大的企业级应用。不依赖其它第三方框架、容器或应用服务器。Shiro会尽可能地整合到这些环境中,但它也可以在任何环境中直接使用。

Shiro特性

Shiro是全面的安全框架,具有许多功能。下图显示了Shiro重点关注的方面,本参考手册也以类似的方式组织:

Shiro以“安全框架的四个基石”为目标:身份认证、授权、Session管理和加密:

  • 身份认证:又称为“登录”,证明用户自己是谁。
  • 授权:访问控制权限,即确定“谁”有权访问“什么”。
  • 会话管理:即使在非Web或EJB环境中,也管理用户的Session。
  • 加密:使用加密算法,让数据保持安全,同时仍易于使用。

在不同的程序环境中,还有很多其它的功能用于支持和加强这些特征,尤其是:

  • Web支持:Shiro的Web API可轻松的用于Web程序。
  • 缓存:缓存是Shiro的一等公民,可确保快速、高效的运行。
  • 并发性:Shiro支持多线程应用。
  • 测试:可以编写单元测试和集成测试,以确保代码按预期的方式运行。
  • “Run As”:允许用户使用其他用户的身份(如果允许),这在某些场合下很有用。
  • “记住我”:记住用户的身份,只在必要时登录。
咨询
交流群
电话