摘要:简介:Shiro 是一个 Apache Incubator 项目,旨在简化身份验证和授权。在本文中,了解 Apache Shiro 并通过示例来在一个 Groovy web 应用程序中尝试使用 Shiro 进行身份验证和授权。Apache Shiro 是一个框架,可用于身份验证和授权。本文提供了几个示例用来展示如何在 Java™ 应用程序中使用 Shiro 并给出了如何在一个 Grails web 应用程序中使用它的概述。为了从本文中最大限度地受益,您应该习惯于创建 Java 应用程序并安装了如下的几个组件:Java 1.6 JDKGrails(用来运行这些 web 应用程序示例)身份验证和授
阅读全文
随笔分类 - apache shiro
摘要:认证是身份验证的过程,也就是试图验证一个用户的有效性。为此,用户本身就需要提供系统可识别和可信任的身份标识。这篇指南的目标在于引导如何在java中使用Shiro的认证机制。如果现在还没做好准备工作,那么可以先去了解“10分钟教会你Apache Shiro”来帮助你理解Shiro是如何工作的。须知术语Subject:Subject是应用程序中用户在安全领域特定用户的缩影。它可以是真实的用户、第三方进程、连接到应用的server、甚至是corn作业。换句话说,Subject是连接到应用程序的任何东西。Principals:一个Subject定义的属性。比如:first name, last nam
阅读全文
摘要:Apache Shiro的配置主要分为四部分:对象和属性的定义与配置URL的过滤器配置静态用户配置静态角色配置其中,由于用户、角色一般由后台进行操作的动态数据,因此Shiro配置一般仅包含前两项的配置。Apache Shiro的大多数组件是基于POJO的,因此我们可以使用POJO兼容的任何配置机制进行配置,例如:Java代码、Sping XML、YAML、JSON、ini文件等等。下面,以Spring XML的配置方式为例,并且对其中的一些配置参数进行一些简单说明。Shiro对象的配置:主要是对Shiro各个组件的实现进行定义配置,主要组件在前文已做过简单介绍,这里不再一一说明。Xml代码&l
阅读全文
摘要:在认证、授权内部实现机制中都有提到,最终处理都将交给Real进行处理。因为在Shiro中,最终是通过Realm来获取应用程序中的用户、角色及权限信息的。通常情况下,在Realm中会直接从我们的数据源中获取Shiro需要的验证信息。可以说,Realm是专用于安全框架的DAO.一、认证实现正如前文所提到的,Shiro的认证过程最终会交由Realm执行,这时会调用Realm的getAuthenticationInfo(token)方法。该方法主要执行以下操作:1、检查提交的进行认证的令牌信息2、根据令牌信息从数据源(通常为数据库)中获取用户信息3、对用户信息进行匹配验证。4、验证通过将返回一个封装了
阅读全文
摘要:授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限。如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限,以及是否拥有打印的权限等等。一、授权的三要素授权有着三个核心元素:权限、角色和用户。权限权限是Apache Shiro安全机制最核心的元素。它在应用程序中明确声明了被允许的行为和表现。一个格式良好好的权限声明可以清晰表达出用户对该资源拥有的权限。大多数的资源会支持典型的CRUD操作(create,read,update,delete),但是任何操作建立在特定的资源上才是有意义的。因此,权限声明的根本思想就是建立在资源以及操作上。而我们通过权限声明仅仅能了解
阅读全文
摘要:认证就是验证用户身份的过程。在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法。最常见的“实体/凭证”组合便是“用户名/密码”组合。一、Shiro认证过程1、收集实体/凭据信息Java代码//Exampleusingmostcommonscenarioofusername/passwordpair:UsernamePasswordTokentoken=newUsernamePasswordToken(username,password);//”RememberMe”built-in:token.setRememberMe(true)
阅读全文
摘要:一、什么是ShiroApache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:认证 - 用户身份识别,常被称为用户“登录”;授权 - 访问控制;密码加密 - 保护或隐藏数据防止被偷窥;会话管理 - 每用户相关的时间敏感的状态。对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。二、Shiro的架构介绍首先,来了解一下Shiro的三个核心组件:Subject, SecurityManager 和 Realms. 如下图:Subject:即“当前操作用户”。但是,在Shiro中,Subject这一概念并
阅读全文
摘要:一、在web.xml中添加shiro过滤器Xml代码<!--Shirofilter--><filter><filter-name>shiroFilter</filter-name><filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class></filter><filter-mapping><filter-name>shiroFilter</filter-name><ur
阅读全文
摘要:在尝试保护你的应用时,你是否有过挫败感?是否觉得现有的Java安全解决方案难以使用,只会让你更糊涂?本文介绍的Apache Shiro,是一个不同寻常的Java安全框架,为保护应用提供了简单而强大的方法。本文还解释了Apache Shiro的项目目标、架构理念以及如何使用Shiro为应用安全保驾护航。什么是Apache Shiro?Apache Shiro(发音为“shee-roh”,日语“堡垒(Castle)”的意思)是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可为任何应用提供安全保障 - 从命令行应用、移动应用到大型网络及企业应用。Shiro为解决下列问题(我喜
阅读全文