`
lengyun3566
  • 浏览: 446585 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
D59180b9-02f1-3380-840c-ea34da46143c
《Spring Secur...
浏览量:379171
社区版块
存档分类
最新评论
文章列表
  第十一章 客户端证书认证(Client Certificate Authentication)   尽管用户名和密码认证特别常见,就像我们在第一章:一个不安全应用的剖析和第二章:Spring Security起步所讨论的那样,form认证的存在允许用户提供各种类型的凭证。Spring Security也为这种需求提供了支持,在本章中我们将不再讨论基于form的认证并探索使用可信任的客户端证书。          在本章的内容中将会包括: l  学习在客户端证书认证中,用户浏览器和服务器之间是如何交互的; l  配置Spring Security使用客户端证书认证用 ...
  高级CAS配置          CAS认证框架提供了高级的配置和与CAS服务的数据交换。在本节中,我们将会介绍CAS集成的高级配置。在我们觉得重要的地方将会包含相关的CAS配置指令,但是要记住的是CAS配置是很复杂的并超出了 ...
  第十章    使用中心认证服务(CAS)进行单点登录   在本章中,我们将会介绍使用中心认证服务(Central Authentication Service,CAS)为基于Spring Security的应用提供单点登录门户(single sign-on portal)。 在本章的内容中,我们将会: l  学习CAS,包括它的架构以及对于系统管理员和各种规模组织的好处; l  理解Spring Security怎样配置以处理认证请求拦截并重定向到CAS; l  配置JBCP Pets应用以使用CAS的单点登录; l  集成CAS和LDAP,
  明确的LDAP bean配置          在本节中,我们带领你学会明确配置以下两项功能所需要的bean集合,即连接外部的LDAP服务器和支持授权的LdapAuthenticationProvider。正如其它基于bean的配置,你可能不希望这样做,除非你发现security命名空间风格的配置不能支持你的业务或技术需求——在这种情况下,请继续阅读。 配置外部的LDAP服务器引用          为了实现这个配置,我们假设在本地的10389端口上运行着LDAP服务器,与前面章节的对应<ldap-server>有相同的配置。需要的bean定义在dogstore- ...
  LDAP的高级配置          一旦我们要了解LDAP基础集成之外的知识,就会发现security XML命名空间方式的配置中,Spring Security LDAP模块还有许多的可用配置。它包括查询用户的个人信息、用户认证的其它方式以及使用LDAP作为UserDetailsService且与DaoAuthenticationProvider结合。 实例JBCP LDAP用户          在JBCP Pets LDIF文件中,我们提供了许多的用户。在高级配置练习和自学中,以下的快速查询表可能会对你有所帮助。要注意的是除了userwithphone以外,所有用户 ...
  第九章  LDAP目录服务   在本章中,我们将会了解轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)以及它怎样集成到使用Spring Security的应用中以提供认证、授权和用户信息服务。 在本章的内容中,我们将会: l 学习一些LDAP协议相关的基本概念以及服务器实现; l  在Spring Security中配置一个嵌入式的LDAP服务器; l  使用LDAP认证和授权; l  理解LDAP查找和用户匹配背后的模型;
  属性交换(Attribute Exchange)          OpenID另外一个有趣的功能就是如果使用OpenID的站点需要,OpenID provider提供(基于用户的许可)典型的用户注册数据,如名字、e-mail、生日。这个功能叫做属性交换(Attribute Exchange,AX)。下图展现了在OpenID请求中要求属性交换是如何添加进去的:  AX属性值(如果provider提供的话)将会与其它的OpenID响应一起返回,并作为一个o.s.s.openid.OpenIDAttribute列表(list)插入到OpenIDAuthenticationToken ...
  OpenID用户的注册问题          请使用我们前面的技术来测试Yahoo! OpenID——例如,https://me.yahoo.com/pmularien。你会发现它并不好用,像其它OpenID提供者那样。这带出了OpenID结构的一个很重要的问题,并体现出了启用OpenID ...
  第八章 对OpenID开放   OpenID是很流行的可信任身份管理方式,它允许用户通过一个单独的可信任提供者(provider)管理其身份信息。这个便利的功能为用户提供了安全的方式即使用可信任的OpenID提供者来存储器密码和个人信息,并可以随意的基于请求获取其个人信息。另外,启用OpenID功能的站点能够确信用户提供的OpenID凭证信息就是他们所说的人。    在本章中,我们将会: l  学习在五分钟之内建立自己的OpenID; l  使用快速实现的OpenID来配置JBCP Pets站点; l  学习OpenID的概念架构以及它怎样为你的站点提供可信任的用户访问; ...
  典型ACL部署所要考虑的事情          实际部署Spring ACL到业务应用是很复杂的。我们总结了Spring ACL要注意的事情,它们在大多数Spring ACL实现场景中都存在。 关于ACL的伸缩性和性能模型          对于小型和中型应用,添加ACL功能是很容易的,尽管它增加数据库存储和影响运行时性能,这个影响可能不会那么明显。但是,取决于ACL和ACE建模的粒度,在中到大型应用中,数据库的行数可能会非常惊人,甚至对对熟练的DBA都是很难的任务。          让我们假设我们将要扩展ACL以覆盖JBCP Pets应用大多数的功能,包括用户账号和订 ...
  支持ACL的Spring表达式语言   SpEL对ACL系统的支持仅限于方法安全,通过使用hasPermission SpEL方法。典型情况下,这种类型的访问检查会与引用一个或多个传入参数(进行@PreAuthorize检查)或集合过滤(进行@PostAuthorize检查)联合使用。          遗憾的是,启用ACL方法安全配置需要我们配置所有的方法安全以明确的Spring Bean的方式。这样,我们就需要我们移除<global-method-security>元素并替换为我们在第六章中介绍过的明确方式配置方法安全。鉴于我们这里不想重复配置(尽管它包含在本章代码中 ...
  高级ACL话题          一些高级的话题在我们配置ACL环境时略过了,包括处理ACE许可授权,在运行时根据GrantedAuthority确定某种类型的ACL变化是否允许。既然现在我们已经有了一个运行环境,那我们要开始了解这些更高级的话题。 Permission如何工作          许可授权(permission)只不过是简单的逻辑标识符用一个整数的二进制位来表示。一个访问控制条目对于SID的授权是基于逻辑与操作所有应用于这个条目的许可授权得到的位掩码。          默认的Permission实现,即o.s.s.acls.domain.BasePermi ...
  第七章   访问控制列表(ACL) 在本章中,我们将会介绍访问控制列表这个复杂话题,它能够提供域对象实例层次授权的丰富模型。Spring Security提供了强大的访问控制列表,但是复杂且缺少文档,它能够很好的满足小到中型规模的实现。 在本章的内容中,我们将会: l  理解访问控制列表的概念模型; l  了解Spring Security ACL模型中的关于访问控制列表的术语和应用; l  构建和了解支持Spring ACL的数据库模式; l  配置JBCP Pets通过注解和Spring bean来使用ACL保护业务方法; l 
声明:本文为笔者原创,但首发于InfoQ中文站,详见文末声明     前段时间曾经在InfoQ中文站上发表文章,介绍了dojo类机制的基本用法。有些朋友在读后希望能够更深入了解这部分的内容,本文将会介绍dojo类机制幕后的知识,其中会涉及到dojo类机制的实现原理并对一些关键方法进行源码分析,当然在此之前希望您能够对JavaScript和dojo的使用有些基本的了解。          dojo的类机制支持类声明、继承、调用父类方法等功能。dojo在底层实现上是通过操作原型链来实现其类机制的,而在实现继承时采用类式继承的方式。值得一提的是,dojo的类机制允许进行多继承(注意,只有父类列 ...
  认证事件处理          有一个重要的功能只能通过基于bean的配置就是自定义处理认证事件。认证事件使用了Spring的时间发布机制,它基于o.s.context.ApplicationEvent事件模型。Spring事件模型使用并不广泛,却能够很有用处——特别在认证系统中——如当你想绑定特定行为到认证领域的行动上去的时候。          事件是典型的订阅-发布模式,通知订阅者是Spring运行环境自己处理的。比较重要的一点是,在默认情况下Spring的事件模型是同步的,所以有任何订阅监听的运行时会直接影响产生事件请求的性能。          在ApplicationCo ...
Global site tag (gtag.js) - Google Analytics