欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Shiro安全框架

程序员文章站 2023-11-02 14:56:10
什么是Shiro shiro是一个强大易用的java的安全框架,执行身份校验,授权,密码和会话管理。 使用shiro的API。可以轻松的快速的获得任何应用程序,从最小移动程序到最大的网络和企业应用程序。 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集成,缓存等。