摘要:
简介:Shiro 是一个 Apache Incubator 项目,旨在简化身份验证和授权。在本文中,了解 Apache Shiro 并通过示例来在一个 Groovy web 应用程序中尝试使用 Shiro 进行身份验证和授权。Apache Shiro 是一个框架,可用于身份验证和授权。本文提供了几个示例用来展示如何在 Java™ 应用程序中使用 Shiro 并给出了如何在一个 Grails web 应用程序中使用它的概述。为了从本文中最大限度地受益,您应该习惯于创建 Java 应用程序并安装了如下的几个组件:Java 1.6 JDKGrails(用来运行这些 web 应用程序示例)身份验证和授 阅读全文
2012年7月21日 #
摘要:
认证是身份验证的过程,也就是试图验证一个用户的有效性。为此,用户本身就需要提供系统可识别和可信任的身份标识。这篇指南的目标在于引导如何在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 阅读全文
摘要:
Taglib 伪指令Java代码<%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><%@tagliburi="http://java.sun.com/jsp/jstl/fmt"prefix="fmt"%><%@tagliburi="http://java.sun.com/jsp/jstl/functions"prefix="fn"%>输出<c:out>语法:J 阅读全文
摘要:
1)在solrconfig.xml增加<!--新增加的配置--> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>2 阅读全文
摘要:
简介:在本部分中,Lucene Java™ 的提交人 Grant Ingersoll 通过对用于企业的特性(包括管理界面、高级配置选项)以及与性能相关的特性(比如缓存、复制和日志记录)的探究,完成了对 Solr 的介绍。在本系列的第 1 部分,我为您介绍了 Apache Solr,一种基于 HTTP 的开源搜索服务器,它可以很容易地与多种 Web 应用程序集成。我展示了 Solr 最基本的功能,包括索引、搜索和浏览,介绍了 Solr 模式并解释了它在配置 Solr 功能方面的作用。在本部分中,我将通过列举 Solr 作为大型生产环境中理想的解决方案时所具备的特性来完成对 Solr 的介绍。涵盖 阅读全文
摘要:
简介:Solr 是一种可供企业使用的、基于 Lucene 的搜索服务器,它支持层面搜索、命中醒目显示和多种输出格式。在这篇分两部分的文章中,Lucene Java™ 的提交人 Grant Ingersoll 将介绍 Solr 并向您展示如何轻松地将其表现优异的全文本搜索功能加入到 Web 应用程序中。一旦用户需要某种信息,就可以立即搜索到这些信息,这种要求再也不是可有可无的了。随着 Google 和类似的复杂搜索引擎的出现,用户希望得到高质量的搜索结果,帮助他们快速、轻易地找到所需的信息。经理对您的在线购物站点同样抱有很高的期望,要求它能够提供一个可伸缩、高度可用且易于维护的搜索解决方案,并且 阅读全文