Shiro安全框架

什么是Shiro

  shiro是一个强大易用的java的安全框架,执行身份校验,授权,密码和会话管理。

  使用shiro的API。可以轻松的快速的获得任何应用程序,从最小移动程序到最大的网络和企业应用程序。

  shiro的首要目标就是易于理解和使用,安全有时候是很复杂的,甚至是痛苦的,但是没有必要这样。

  框架的作用就是尽可能的掩盖复杂的地方,暴露出可以直接使用的直观的API,来简化开发人员在使用应用程序安全上的努力,以下是Apache Shiro可以帮我做到的事

  1.验证用户核实他们的身份

  2.对用户执行访问控制,如

    ①判断用户是否被赋予一个确定安全的角色

    ②判断用户是否被允许做某件事

  3.在任何环境下使用Session API,即使没有Web和EJB容器

  4.在身份验证,访问控制期间或在会话的生命周期,对事件做出反应

  5,聚集一个或者多个安全数据的数据源,并作为一个单一的复合用户"视图"

  6.启用单点登录(SSO)功能

  7,为没有关联到登录的用户启用"Remeber Me"功能

Shiro与Spring Security的对比:

shiro:

shiro较之于Spring Security,shiro在保持强大功能的同时,还在简单性和灵活性方面拥有巨大的优势。

  1.易于理解的Java Security API;

  2.简单的身份认证(登录),支持多种数据(LDAP,JDBC,Kerberos,ActiveDirectory);

  3.对角色的简单签权 (访问控制),支持细粒度访问签权;

  4.支持一级缓存,可以提升应用程序的性能

  5.内置的基于POJO企业会话管理,适用于Web以及非Web的环境

  6.异构客户端会话访问

  7.非常简单的加密API(MD5加密)

  8.不和任何框架或者容器绑定,可以独立运行

Spring Security:

 

除了不能脱离spring,shiro的功能他都有,而且Spring Security对Oauth,OpenID也有支持,shiro则需要自己手动实现,Spring Security的权限细粒度更高

Shiro的功能模块:

Shiro可以非常容易的开发出足够好的应用,其不仅可以用在java SE环境,也可以在javaEE 环境,Shiro可以帮助我们完成:认证,授权,加密,会话管理,与Web集成,缓存等。

posted @ 2019-12-26 21:04  孺子韫  阅读(273)  评论(0编辑  收藏  举报