`
xyz20003
  • 浏览: 289988 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论
文章列表
这一次迭代,对章节的命名进行了这里,目标是尽快覆盖Spring Security中提供的各项功能,从而逐渐进入安全框架的内核。 修订 0.0.7 2009-07-10 整理章节的名称结构。 添加:第 12 章 自动登录 添加:第 13 章 匿名登录 添加:第 14 章 防御会话伪造 。 添加:第 15 章 预先认证 。 添加:第 16 章 切换用户 。 添加:第 17 章 信道安全 。 添加:第 18 章 digest认证 。 ...
这一次,我们添加了taglib标签库的时候,以及如何使用多种方式保护方法的调用。而我们推荐大家阅读的,包含在本次更新中的重头戏是“使用 spring security实现最简的权限后台”,这就好比我们学会了26个字母,但是依然很难讲出流利的英语,我们教程的最后将包含多个知识点的汇集和整合,探索 一条如何依靠spring security完成多种实际应用的最佳实践之路。 11. 标签库 11.1. 配置taglib 11.2. authenticaiton 11.3. authorize 11.4. acl/accessco ...
这次更新的都是重头戏,CAS和ACL。其中ACL只是简述了Spring Security中默认提供的实现方式,如何让它更明快的跑在我们的应用里,估计还要下一番功夫。 9. 单点登录 9.1. 配置JA-SIG 9.2. 配置Spring Security 9.2.1. 添加依赖 9.2.2. 修改applicationContext.xml 9.3. 运行配置了cas的子系统 9.4. 为cas配置SSL 9.4.1. 生成密钥 9.4.2. 为jetty配置SSL ...
新增的部分有,第八章“管理会话”,附录D,E分别整理了命名空间中的元素和属性,以及数据库表结构。 8. 管理会话 8.1. 添加监听器 8.2. 添加过滤器 8.3. 控制策略 8.3.1. 后登陆的将先登录的踢出系统 8.3.2. 后面的用户禁止登陆 D. 命名空间 D.1. http D.2. authentication-provider D.3. ldap-server D.4. global-method- ...
第 9 章 图解过滤器 图 9.1. auto-config='true'时的过滤器列表 9.1. HttpSessionContextIntegrationFilter 图 9.2. org.springframework.security.context.HttpSessionContextIntegrationFilter 位于过滤器顶端,第一个起作用的过滤器。 用 途一,在执行其他过滤器之前,率先判断用户的session中是否已经存在一个SecurityContext了。如果存在,就把 Secur ...
目前我们在基础篇中已经编写了六章,基本上可以带新手从头开始使用Spring Security了,稍稍还带了一些定制的功能,有深有浅,等到下次整理时再考虑是否细分章节,深挖内容。 I. 基础篇 1. 一个简单的HelloWorld 1.1. 配置过滤器 1.2. 使用命名空间 1.3. 完善整个项目 1.4. 运行示例 2. 使用数据库管理用户权限 2.1. 修改配置文件 2.2. 数据库表结构 3. 自定义数据库表结构 3.1. 自定义 ...
欢迎阅读咱们写的Spring Security教程,咱们既不想写一个简单的入门教程,也不想翻译已有的国外教程。咱们这个教程就是建立在咱们自己做的OA的基础上,一点一滴总结出来的经验和教训。首先必须一提的是,Spring Security出身名门,它是Spring的一个子项目http://static.springsource.org/spring-security/site/index.html。它之前有个很响亮的名字Acegi。这个原本坐落在sf.net上的项目,后来终于因为跟spring的紧密连接,在2.0时成为了Spring的一个子项目。即 使是在开源泛滥的Java领域,统一权限管理框架 ...
工作流的在线编辑器一直是个很热门的话题,从网上可以找到不少使用vml绘图的例子,这里边就属xiokflow做的比较精准完善了,不过毕竟是自己实现的风格形式,以后不知道是不是能很好的和一些工作流引擎比如jBPM配合的很好。 再者就是因为VML还是依赖于ie下的,其他浏览器上都跑不动,而SVG则正好相反,firefox, opera, safari都支持它,而就是ie不支持,其实如果说到了跨浏览器兼容性,很多人都会提到flex,实际上flash的绘图能力应该也是比JavaScript高几个数量级的。 但是,我们还是希望使用原生的JavaScript实现web绘图,因此也就有了这次的原型DEM ...
预览地址:http://family168.com/tutorial/springsecurity/html/springsecurity.html 例子:因为网站不允许下载war扩展名的文件,我已经把扩展名改成.zip了,请各位下载后,将扩展名修改为war再使用。 secure-hello,最简单的namespace配置方式, 两个用户:admin:admin, user:user secure-hello.zip secure-hello.war secure-db实例 ,使用数据库保存用户和权限信息的例子。 两个用户:admin:admin,us ...
领域对象安全 24.1. 概述 请注意:在2.0.0之前,Spring Security还叫Acegi Security。 在老的Acegi Security发布里提供了一个ACL模块,放在 org.[acegisecurity/springsecurity].acl下。 旧包现在被废弃了,会在Spring Security未来发布里删除。 这章提到的新ACL模块,是由Spring Security 2.0.0正式推荐的,可以在org.springframework.security.acls包找到。 复杂程序常常需要定义访问权限,不是简单的web请求或方法调用级别。而是,安全决议需要包括谁 ...
安全对象实现 23.1. AOP联盟 (MethodInvocation) 安全拦截器 在Spring Security 2.0之前,安全MethodInvocation需要进行很多厚重的配置。 现在为方法安全推荐的方式,是使用命名空间配置. 使用这个方式,会自动为你配置好方法安全基础bean,,你不需要了解那些实现类。 我们只需要对这些类提供一个在这里提到的快速概述。 方法安全强制使用 MethodSecurityInterceptor,它会保障 MethodInvocation。 依靠配置方法,一个拦截器可能作用于一个单独的bean或者在多个bean之间共享。 拦截器使用MethodDe ...
通用授权概念 22.1. 授权 在认证部分简略提过了,所有的Authentication实现需要保存在一个GrantedAuthority对象数组中。 这就是赋予给主体的权限。 GrantedAuthority对象通过AuthenticationManager保存到 Authentication对象里,然后从AccessDecisionManager读出来,进行授权判断。 GrantedAuthority是一个只有一个方法接口:   String getAuthority();     这个方法允许 AccessDecisionManager获得一个精确的 String 来表示 Gra ...
安全数据库表结构 可以为框架采用不同的数据库结构,这个附录为所有功能提供了一种参考形式。 你只要为需要的功能部分提供对应的表结构。 这些DDL语句都是对应于HSQLDB数据库的。 你可以把它们当作一个指南,参照它,在你使用的数据库中定义表结构。 A.1. User表 UserDetailsService的标准JDBC实现,需要从这些表里读取用户的密码,帐号信息(可用或禁用)和权限(角色)列表。   create table users(       username varchar_ignorecase(50) not null primary key,       password v ...
容器适配器认证 21.1. 概述 非常早期版本的Spring Security使用容器适配器进行最终用户的认证。 虽然它运行良好,但是需要很多时间来支持不同的容器版本,对于开发者来说配置时间也太长了。 因为这个原因,HTTP表单认证和HTTP基础认证方法才被开发出来,直到今天,被推荐用在几乎所有的程序中。 容器适配器让Spring Security可以将主机的最终用户程序与容器直接集成。 这种集合意味着,程序可以继续使用容易本身的认证和授权能力(比如isUserInRole()和基于表单或基本认证),虽然Spring Security提供加强的安全拦截能力(应该注意到,Spring Secu ...
替换验证身份 20.1. 概述 AbstractSecurityInterceptor可以在安全对象回调期间,暂时替换SecurityContext和SecurityContextHolder里的Authentication对象。 只有在原始Authentication对象被AuthenticationManager和AccessDecisionManager成功处理之后,才有可能发生 ...
Global site tag (gtag.js) - Google Analytics