Hunt Shiro 发布 1.0.0,D 语言安全认证框架

冰力
 冰力
发布于 2019年11月19日
收藏 9

为了进一步完善 D 语言在 Web 领域的框架生态,HuntLabs 对 Apache Shiro 进行完整的翻译,目前的实现来自 Apache Shiro 1.4.x 的设计实现。

Shiro 是一个功能强大且灵活的开源安全框架,主要功能包括用户认证、授权、会话管理以及加密。

Shiro 的首要目标是易于使用和理解。系统安全是非常复杂甚至痛苦的,但 Shiro 并不是。一个框架应该尽可能的隐藏那些复杂的细节,并且公开一组简洁直观的API以简化开发人员在系统安全上所付出的努力。

你可以通过 Shiro 完成下面这些事情:

  • 验证用户身份
  • 控制用户访问,例如:
    • 确定用户是否被分配某个角色
    • 确定用户是否被允许做某些操作
  • 在任何环境下使用 Session API,甚至是在脱离 web 的环境下
  • 及时响应在认证、访问控制或会话生命周期内的所有事件
  • 从一个或多个数据源聚集用户安全数据生成一个复合的用户“视图”
  • 实现单点登录功能
  • 实现“记住我”功能,使用户不必每次都要登录

除了上面这些功能,还有其他很多功能,所有这些功能都集成到了一组易于使用的API中。

Shiro试图在所有应用环境实现这一目标。在不强制依赖其他第三方框架、容器或者应用服务器的情况下,从最简单的命令行应用到最复杂的企业级应用。Shiro可以和这些第三方框架、容器或者应用服务器集成使用,也可以离开这些环境单独使用。

Shiro 的特点

Shiro 是一个功能丰富的综合安全框架。下面这张图展示了Shiro的主要特点:

 

这些特点被 Shiro 开发团队称之为“应用安全的四大基石”——认证、授权、会话管理和加密:

  • 认证:有时候被称作“登录”,也就是验证一个用户是谁。
  • 授权:处理访问控制,例如决定“谁”可以访问“什么”资源。
  • 会话管理:管理特定用户的会话,甚至在非web环境或非EJB应用环境下。
  • 加密:在保持易用性的同时使用加密算法保持数据的安全。

除开上面这些功能,Shiro 还提供了一些额外的功能来支持和加强在不同应用环境下使用上面这些功能,特别是:

  • Web支持:Shiro 的 web api可 以帮组 web 应用非常方便的提高安全性。
  • 缓存:缓存可以让 Shiro 的 api 在安全操作上的保持快速和高效。
  • Concurrency: 通过Shiro的并发特性 Shiro 可以支持多线程应用。
  • Testing:通过编写单元测试和集成测试来确保代码的安全性。
  • “Run As”:允许用户使用另一个用户的身份(如果允许),在有些管理场景非常有用。
  • “Remember Me”:通过 session 记住用户身份。
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Hunt Shiro 发布 1.0.0,D 语言安全认证框架
加载中

最新评论(11

开源中国首席罗纳尔多
开源中国首席罗纳尔多
您好,请问Spring Secure和Shiro有什么区别?哪个好用?
冰力
冰力
Spring Security 很明显只能配合 Spring Framework 使用,Shiro 可以配合所有场景化的框架去使用,所以说 Shiro 更灵活更轻量,耦合度更低。
无聊的人啊
无聊的人啊
怎么才能在vscode linux调试啊
冰力
冰力
装个 Dlang for VSCode 插件就行了
无聊的人啊
无聊的人啊
完全不行啊
冰力
冰力
进群问问,有教程的
无聊的人啊
无聊的人啊
你确定你在linux下可以吗?什么编译器?什么插件
冰力
冰力
你先装 D语言环境,进入源码目录 dub build 即可。
roc-lee
roc-lee
流批! 有牌面! 就真滴嘿强!!!👍
冷冷gg
冷冷gg
👍
返回顶部
顶部