Apache Shiro系列一:简介

Apache Shiro是什么

Apache Shiro 是一个强大而灵活的开源安全框架,它能够简洁地处理身份验证(authentication)、授权(authorization)、企业会话管理(enterprise session management)和加密(cryptography)。
Apache Shiro 的首要目标是易于使用和理解。确保安全有时可能会非常复杂,甚至令人头疼,但它不应该是这样。一个框架应该尽可能的掩盖复杂性,并提供一个简洁直观的 API,以简化开发人员的应用程序安全开发工作。
下面是使用 Apache Shiro 可以完成的一些操作:

  • 验证用户身份;
  • 对用户执行访问控制,例如:
    • 确定用户是否被分配了某个安全角色
    • 确定用户是否允许执行某项操作
  • 在任何环境中使用 Session API,即使在没有 Web 或 EJB 容器的情况下;
  • 对在身份验证、访问控制或会话生命周期内发生的事件作出响应;
  • 将 1 个或多个用户安全数据源的数据聚合起来,并呈现为一个单一的复合用户“视图”;
  • 启用单点登录(Single Sign On: SSO)功能;
  • 启用“记住我(Remember Me)”服务,以便用户在不登录的情况下关联账户;
  • ……

还有很多其他功能——所有这些都集成到了一个高内聚并且易于使用的 API 中。
Shiro 致力于在所有应用环境中实现这些目标——从最简单的命令行应用到最庞大的企业应用,而不必强制依赖于其他第三方框架、容器或应用服务器。当然,这个项目也致力于尽可能地与这些环境进行集成,但它也可以即插即用,在任何环境中直接使用。

Apache Shiro的功能

Apache Shiro 是一个功能全面的应用安全框架。下面的图表展示了 Shiro 的主要关注点,本参考手册也将按照类似的结构进行组织:
Apache Shiro的功能
Shiro 针对的是 Shiro 开发团队所称的“应用安全的四大基石”——身份验证(Authentication)、授权(Authorization)、会话管理(Session Management)和加密(Cryptography):

  • 身份验证(Authentication:有时也被称为“登录”,这是证明用户身份的过程,即确认用户是他们自称的人。
  • 授权(Authorization:这是访问控制的过程,即确定“谁”可以访问“什么”。
  • 会话管理(Session Management:管理特定用户的会话,即使是在非 Web 或 EJB 应用中。
  • 加密(Cryptography:使用加密算法确保数据安全,同时保持易于使用的特性。

此外,还有额外的功能可以支持和加强这些关注点,特别是在不同的应用环境中,这些功能包括:

  • Web 支持(Web Support:Shiro 的 Web 支持 API 有助于轻松保护 Web 应用的安全。
  • 缓存(Caching:在 Apache Shiro 的 API 中,缓存是一级公民,用以确保安全操作保持快速和高效。
  • 并发(Concurrency:Apache Shiro 通过其并发功能支持多线程应用。
  • 测试(Testing:测试支持功能有助于编写单元测试和集成测试,确保代码能够按预期进行安全保护。
  • “以其他用户身份运行”(“Run As”:一项允许用户以其他用户身份登录的功能(如果允许),有时在管理(administrative )场景中很有用。
  • “记住我”(“Remember Me”:跨会话记住用户的身份,只有在强制执行时才需要登录。

英文地址:Introduction to Apache Shiro

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值