【2017年整理】Seam 2.1 安全模块框架.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【2017年整理】Seam 2.1 安全模块框架

Seam 2.1 安全模块框架 15.1. 概述 Seam安全API为你使用Seam开发的应用程序提供了大量与安全认证关的特性,包含了以下几块: 安全验证 - 一个可扩展的、基于JAAS的安全验证层,允许用户to authenticate against any security provider 身份管理 - 用于管理Seam程序中所涉及的用户及角色的接口 权限验证 - 一个应用十分广泛的权限验证框架,支持用户角色、持久化和基于规则的权限设置,能够灵活地实现属于用户自己的安全设置 权限管理 - 一组内置的Seam组件,能让应用程序的安全政策变得容易管理 验证码支持 - 帮助防止通过软件或脚本对你用Seam开发的网站进行攻击等等 这一章将会详细介绍每一个细节。 15.2. 关闭安全控制 某些情况下,可能会想要将安全控制关闭掉,例如执行单元测试的时候。通过调用静态方法 Identity.setSecurityEnabled(false) 来关闭安全认证。这样就能组织以下安全认证: 实体安全 Entity Security Hibernate安全拦截 Seam安全拦截 页面约束 15.3. 验证 Seam安全中的验证特性是基于JAAS (Java Authentication and Authorization Service)开发的,它提供了用来进行用户身份认证的高度可配置的接口。然而,针对复杂多变的验证需求,Seam提供了一套非常简单的验证方法来隐藏 JAAS的复杂性。 15.3.1. 配置一个验证组件 注意: 如果你使用Seam的身份管理功能(稍后介绍),那么就不用特地建立一个验证组件(意味着你可以跳过这一章)。 这种简单的验证方法由Seam的一个内置的JAAS登录组件提供,叫做SeamLoginModule,它将验证功能转移到你自己编写的一个 Seam组件之中。该登录模块已经作为Seam的默认程序规则设置好了,你不需要额外的配置文件。你可以在一个编写一个你自己的方法来进行验证,稍经修改 也可以用来结合其他第三方程序进行验证。这些简单的配置需要在components.xml中添加一个identity组件: components xmlns=/products/seam/components xmlns:core=/products/seam/core xmlns:security=/products/seam/security xmlns:xsi=/2001/XMLSchema-instance xsi:schemaLocation= /products/seam/components /products/seam/components-2.1.xsd /products/seam/security /products/seam/security-2.1.xsd security:identity authenticate-method=#{authenticator.authenticate}/ components EL表达式#{authenticator.authenticate}绑定到验证组件的验证方法上,该方法被用来对登录的用户进行验证。 15.3.2. 编写验证方法 components.xml 文档中identity的authenticate-method属性指出SeamLoginModule将使用哪个方法来进行用户验证。该方法没有参 数,并且返回值为boolean类型,用于判断登录是否成功。用户名和密码可以分别从Credentials.getUsername()和 Credentials.getPassword()得到。用户所属的角色通过Identity.addRole()来添加。下面就是一个写在POJO组 件中的完整验证方法: @Name(authenticator) public class Authenticator { @In EntityManager entityManager; @In Credentials credentials; @In Identity identity; public boolean authenticate() { try { User user = (User) entityManager.createQuery( from User wh

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档