Apache Shiro 是什么?

Apache Shiro (发音为“shee-roh”,日语“堡垒(Castle)”的意思)是一个强大灵活的开源安全框架,提供认证、授权、会话管理以及密码加密等功能。

Apache Shiro 首要的目标是易于使用和理解。安全(相关的操作)有时很复杂很麻烦,不过这完全没必要,一个(安全)框架应该尽可能隐藏这其中的复杂性并提供一套简洁直观的 API 来简化开发人员在这方面的工作。

使用 Apache Shiro 可以做到:

  • 验证用户身份。
  • 对用户进行访问控制,比如:
    • 判断某个用户是否被赋予某个特定角色
    • 判断某个用户是否被允许执行某些操作
  • 可以在各种环境下使用 Session API ,即使是不在web或EJB容器中。
  • 对认证、访问控制或在会话生命周期中的事件进行响应处理。
  • 可以聚合使用一个或多个安全数据的数据源而使用者只需了解一层抽象 。
  • 使用单点登录(SSO)。
  • 使用“下次自动登陆(Remember Me)”。
    ...
    等等 - 而所有这些都已经集成于Shiro统一易用的API中。

Shiro 力图在各种应用环境中做到以上——从最简单的命令行程序到庞大的企业应用——而且不依赖于任何的第三方框架、容器或者应用服务器,当然它可以集成到这些环境中,但也能独立使用。

Apache Shiro 的功能

Apache Shiro 框架提供了很多功能,下图展示了Shiro的着重点:

Shiro主要面向Shiro开发团队所谓的“应用安全的四大基础” ——认证,授权,会话管理与密码加密:

  • 认证: 或“登录”,用以验证用户身份。
  • 授权: 访问控制, 比如决定谁可以访问某些资源。
  • 会话管理: 管理用户相关的session,即使是在非web或EJB应用中。
  • 加密:可以非常方便地使用(各种)加密算法保证数据的安全。

Shiro还包含了一些其他功能以支持不同的应用环境,其中:

  • 对Web的支持: Shiro自带的支持Web的API可以很容易地保证web应用的安全。
  • 缓存:缓存在Apache Shiro的API中是“一等公民”,可以保证操作的快速高效。
  • 并发: Apache Shiro的并发功能支持开发多线程的应用。
  • 测试:对测试的支持可以帮助你编写单元测试与集成测试。
  • “以...(身份)运行”(Run As):允许一个用户使用另外某个用户的身份(执行操作),这个功能常用于管理场景中(比如“以管理员身份运行”)。
  • “自动登陆”(Remember Me):可以跨会话记住用户身份,只在某些特殊情况下才需要强制登录。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值