spring-security 官方文档 中文版

所需积分/C币:50 2018-10-12 09:55:23 1.06MB PDF
21
收藏 收藏
举报

spring security官方文档 中文版 看了下翻译 还是可以的 比其他查到的专业点 希望可以帮助到大家
6. 1. The AuthenticationManager, ProviderManager HAuthenticationProvider s 6.1.1. 6.2. UserDetailsseryice实现 6.2.1.内存认证 6. 2. 2. JdbcDaolmpl 6.2.2.1.权限分组 6.3.密码加密 6.3.1.什么是散列加密? 6.3.2.为散列加点儿盐 6.3.3.散列和认证 III.veb应用安全 7.安全过滤器链 7. 1. DelegatingFilterProxy 7.2. FilterChainProxy 7.2.1.绕过过滤器链 7.3.过滤器顺序 7.4.使用其他过滤器—基于框架 8.核心安全过滤器 8. 1. FilterSccurity Interceptor 8. 2. ExceptionTranslationFilter 8. 1. AuthenticationEntryPoint 8.2.2. AccessDeniedhandl 8.3. Security ContextPersistenceFilter 8.3. 1. SecurityContcxtRepository 8. 4. Username PasswordAuthenticationfilter 8.4.1.认让成功和失败的应用流程 Basic(基本)和 Digest(摘要)验证 9.1. BasicAuthenticationfilte 9.1.1.配置 estAuthenticationfilter 9. 2. 1. Configuration 10. Remember-Mo认证 10.1.概述 10.2.简单基于散列标记的方法 10.3.持久化标记方法 10.4. Remember-Me接口和实现 10. 4.1. TokcnBascdRcmemberMeSorviccs 10.4.2. Persistent TokenBasedRememberMeservices 11.会话管理 11. 1. Session ManagementFilter 11. 2. SessionAuthenticationStrategy 11.3.同步会话 2.匿名认证 12.1.概述 12.2.配置 12.3. Authentication Resolver IV.授权 13.验证架构 13.1.验证 13.2.处理预调用 13. 2. 1. AccessDecisionManager 13.2.2.基丁投票的 AccessDecisionManager实现 13.2.2.1. Rolevoter 13.2.2.2. AuthenticatedVoter 13.2.2.3. Custom voters 13.3.处理后决定 14.安全对象实现 14.1.AOP联盟( McthodInvocation)安全拦截器 14.1.1.精确的 MethodSecuritylterceptor配置 14.2. Aspect. J( JoinPoint)安全拦截器 15.基于表达式的权限控制 15.1.概述 15.1.1.常用内建表达式 15.2.Web安全表达式 15.3.方法安全表达式 15.3.1.@Pre和@Post注解 15.3.1.1.访问控制使用@ reAuthorize和@ os aUthorize 15.3.1.2.过滤使用@ Prefilter和@ PostFilter 16. acegI到 spring security的转换方式 16.1. Spring security是什么 16.2.目标 16.3.步骤 16.1.总结 V.高级话题 17.领域对象安全(ACLs) 7.1.概述 17.2.关键概念 17.3.开始 18.预认证场景 18.1.预认让框架类 18.1.1. Abstract PrcAuthenticatcdProcessingfiltor 18.1.2. AbstractPreAuthenticatedAuthenticationDetailssource 18. 1.2.1. J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource 1813. PreAuthenticatedAuthenticationProvider 18.1.4. Http403forbiddenentrypoint 18.2.具体实现 18.2.1.请求头认证( Siteminder) 18.2.1.1. Siteminder示例配置 18.2.2.J2EE容器认证 19.LDAP认证 19.1.综述 19.2.在 Spring security里使用LDAP 19.3.配置LDAP服务器 19.3.1.使用嵌入测试服务器 19.3.2.使用绑定认证 19.3.3.读取授权 19.4.实现类 19.4.1. LdapAuthenticator实现 19.4.1.1.常用功能 19. 4.1.2. BindAuthenticator 19. 4.I.3. PasswordComparisonAuthenticator 19.4.1.4.活动目录认证 19.4.2.链接到LDAP服务器 19.4.3.LDAP搜索对象 19. 1. FilterBasedldaplserSearch 19. 4. 4. LdapAuthoritiesPopulator 19.4.5. Spring bean配置 19.4.6.DDAP属性和自定义 UserDetails 20.JSP标签库 20.1.声明 Taglib 2. authorize标签 20.3. authentication标签 20.4. accesscontrollist标签 21.Java认证和授权服务(JAAS)供应器 21.1.概述 配置 21.2.1. JAAS Ca llbackHandler 21. 2.2. JAAS AuthorityGranter CAS认让 概述 22.2.CAS是如何上作的 22.3.配置CAS客户端 23.X.509认证 3.1.概述 23.2.把X.509认证添加到你的wob系统中 23.3.为 tomcat配置SSL 24.替挨验证身份 24.1.概述 24.2.配置 A.安全数据库表结构 A.1.User表 A.1.1.组权限 A.2.持久登陆( Remember-Me)表 A.3.ACL表 A.3. 1. HypersoniC SQL A.3.1.1. PostgreSQL B.安全命名空间 B.1.Web应用安全-<htp>元素 B.1.1.http属性 B l.l.l. servlet-api-provision B. 1.1.2. path-type B.l.1.3. lowercase-comparisons B. 1. 1.4. realm B. 1. 1.5. entry-point-ref B. 1. 1. 6. access-decision-manager-ref B. 1. 1.7. acccss-denied-pagc B. I.l.8. once-per-request B. 1.1.9. create-session B.1.2. access-denied-handler B.1.3.<int 1>元素 B. 1. pattern B. 1.3.2. method B. 1.3.3. acces B. 4. requires-channe l B. 1.3.5. filters B.1.4.<port- mappings>元素 B.1.5.<form10 元素 B. 1.5.l. login-page B. 1. 5.2. login-processing -url B.1.5.3. default-target-url B. 1. 5.. always-use-default-target B. 1.5.5. authentication failure url B. 1.5. 6. authentication-success-handler-ref B. 1.5.7. authentication-failurc-handler-ref B.1.6.http-basic>元素 B.1.7.< remember-me〉元素 B.1.7.1. data-source-ref B. 1.7.2. token-repository-ref B. 1.7.3. services-ref B. 1.7.4. token repository ref B.1.7.5.key属性 B.1.7.6. token-validitv-seconds B.1.7.7. user-service-ref B.1.8.< session- managcment>元素 B. I.8.1. session fixation protection B.1.9.< concurrent- contro1>元素 B.1.9.1.max- sessions属性 B.1.9.2. expired-ur1属性 B.1.9.3. error-if- max imum- exceeded属性 B.1.9.4. session- registry- alias和 session- registry-ref属性 B.1.10.< anonymous>元素 B.1.11.〈X509〉元素 B.1.11.1. sub ject- principal- regex属性 B.1.11.2.user- service-ref属性 B.1.12.< pen id- login>元素 B.1.13.< logout>元素 B.1.13.1. logout-ur1属性 B.1.13.2. logout- Success-ur1属性 B.1.13.3. invalidate- session属性 B.1.14.< custom- filter〉元素 B.2.认证服务 B.2.1.< authentication- manager>元素 B.2.1.1.< authentication- provider>元素 B.2.1.2.使用< authentication-provider>来引用一个 AuthenticationProvider bean B.3.方法安全 B.3.1.< global method security>元素 B.3.1.1. secured- annotations和jsr250- annotations属性 B.3.1.2.安全方法使用< protect- pointcut> B.3.1.3.< after- invocation- provider>元素 B.3.2.LDAP命名空间选项 B.3.2.1.使用< I server〉元素定义LDAP服务器 B.3.2.2.<ldap- provider>元素 B.3.2.3.<1dap-user- service〉元素 Part1.入门 本指南的后面部分提供对框架结构和实现类的深入讨论,了解它们,对你进行复杂的定制是 十分重要的。在这部分,我们将介绍 Spring Security3.0,简要介绍该项目的历史,然后 看看如何开始在程序中使用框架。特別是,我们将看看命名控件配置提供了一个更加简单的 方式,在使用传统的 spring bean配置时,你不得不实现所有类。 我们也会看看可用的范例程序。它们值得试着运行,实验,在你阅读后面的章节之前-你 可以在对框架有了更多连接之后再回来看这些例子。也请参考项目网站获得构建项日有用 的信息,另外链接到网站,视频和教程 Chapter1.介绍 1.1. Spring Security是什么 Spring Security为基于J2E企业应用软件提供了全面安全服务。特别是使用领先的 J2E解决方案- spring框架开发的企业软件项日。如果你没有使用 Spring开发企业软件 我们热情的推荐你仔细研究一下。熟悉 Spring尤其是依赖注入原理-将帮助你更快的掌握 Spring Security。 人们使用 Spring sccurity有很多种原因,不过通常吸引他们的是在J2 EE Servlet规范 或EjB规范中找不到典型企业应用场景的解决方案。提到这些规范,特别要指出的是亡们 不能在WAR或EAR级别进行移植。这样,如果你更换服务器环境,就要,在新的日标环 境进行大量的工作,对你的应用系统进行重新配置安仝。使用 Spring security解决了这 些问题,也为你提供了很多有用的,可定制的其他安全特性。 你可能知道,安全包括两个主要操作,“认证”和“验证”(或权限控制)。这就是 Spring Security面向的两个主要方向。“认证”是为用户建立一个他所声明的主体的过程,(“主 体”一般是指用户,设备或可以在你系统中执行行动的其他系统)。“验证”指的·个用户 能 否在你的应用中执行某个操作。在到达授权判断之前,身份的主体已经由身份验证过程建 立了。这些概念是通用的,不是 Spring security特有的 在身份验证层面, Spring security广泛支持各和身份验证模式。这些验证模型绝大多数 都由第二方提供,或正在开发的有关标准机构提供的,例如 Internet_ ngineering Task Fore。作为补充, Spring security也提供了自己的一套验证功能。 Spring security 目前支持认证一体化和如下认证技术 Http Basic authentication headers(一个基 JIEFT RFC的标准) Http Digest authentication headers(一个基于 IEFT RFC的标准 Http X.509 client certificate exchange(个基于IRHC的标准) LDAP(一个非常常见的跨半台认证需要做法,特别是在大环境) Form-based authentication(提供简单用户接口的需求) Openid authentication 基于预先建立的请求头进行认证(比如 Computer Associates Siteminder) 「 A- SiG Central authentication service(也被称为CAS,这是一个流行的开源单点登 录系统) Transparent authentication context propagation for remote Method Invocation (RM) and Httplnvoker(个 Spring远程调用协议) Automatic" remember-mc" authentication(这样你可以设置一段时间,避免在一段时 间内还需要重新验证 Anonymous authentication(允许任何调用,自动假设一个特定的安全主体) Run- as authentication(这在一个会话内使用不同安全身份的时候是非常有用的) Java Authentication and Authorization Service (JAAS JEE Container autentication(这样,你可以继续使用客器管理认证,如果想的话 Kerberos Java Open Source Single Sign On (JOSSO)* penNMS Network Managcment Platform x Appfuse水 Andromda Mule esb k Direct Web Request (dWr)* Grail Tapestry水 TTrac x* Jasypt ik Roller水 Elastic plath x Atlassian Crowd* 你自己的认证系统(向下看) (*是指由第三方提供,查看我们的整合网页,获得最新详情的链接。) 许多独立软件供应商(ISVs, independent software vendors)采用 Spring security, 是因为它拥有丰富灵活的验证模型。这样,元论终端用户需婁什么,他们都可以快速集成 到系统中,不用花很多功夫,也不用让用户改变运行环境。如果上述的验证机制都没有满 足你的需要, Spring Security是个开放的平台,编写自己的验证机制是十分简单的。 Spring security的许多企业用户需要整合不遵循任何特定安全标准的“遗留”系统, Spring Security在这类系统上也表现的很好 有时基木的认证是不够的。有时你需要根据在主体和应用交上的方式来应用不同的安全措 施。比如,你可能,为了保护密码,不被窃听或受到中间人攻击,希望确保请求只通过HTPS 到达。这在防止暴力攻击保护密码恢复过程特别有帮助,或者简单的,让人难以复制你的 系统的关键字内容。为∫帮助你实现这些目标, Spring security完全支持自动“信道安 全”,整合 jcaptcha一体化进行人类用户检测。 Spring security不仅提供认让功能,也提供了完备的授权功能。在授权方面主要有三个 领域,授权wcb请求,授杈被调用方法,授权访问单个对象的实例。为了帮你了解它们之 间的区别,对照考虑授在 Servlet规汽web模式安全,EJB容谷器管理安全,和文件系统安 仝方面的授权方式。 Spring security在所有这些重要领域都提供了完备的能力,我们将 在这份参考指南的后面进行探讨。 1.2.历史 Spring sccurity开始于2003年年底,““ spring的 acci安全系统”。起因是 Spring开 发者邮件列表中的一个问题,有人提问是否考虑提供一个基于 spring的安全实现。在当 时 Spring的社区相对较小(尤其是和今天的规模比!),其实 Spring本身是从2003年初 才作为一个 sourceforge的项目出现的。对这个问题的可应是,这的确是一个值得研究的 领域,虽然限于吋间问题阻碍了对它的继续研究。 有鉴于此,一个简单的安全实现建立起来了,但没有发布。几周之后, spring社区的其他 成员询问安全问题,代码就被提供给了他们。随后又有人请求,在2004年一月左右,有 20人在使用这些代码。另外一些人加入到这些先行者中来,并建议在 sourceforge上建 立一个项目,项目在2004年3月正式建立起来 在早期,项目本身没有自己的认证模块。认证过程都是依赖谷器管理安全的,而 acel则 注重授权。这在一开始是合适的,但随着越来越多用户要求提供额外的容器支持,基于容 器认证的限制就显现出米了。还有一个有关的问题,向容器的 classpath中添加新jar, 常常让最终用户感到困惑,又容易出现配置错误 随后 accel加入了认证服务。大约一年后, accel成为 spring的官方子项目。绎过了两 年半在许多生产软件项目中的活跃使用和数以万计的改善和社区的贡献,1.0.0最终版本发 布于2006年5月。 acel在2007年年底,正式成为 spring组合项目,被更名为“ Spring security”。 现在, Spring security成为了一个强大而又活跃的开源社区。在 Spring security支持 论坛上有成千上万的信息。有一个积极的核心开发阴队专职开发,一个积极的社区定期共 享补丁并攴持他们的同伴。 3.发行版本号 了解 spring Security发行版本号是非常有用的,它可以帮助你判断升级到新的版本是否 需要花费很大的精力。我们使用 apache便携式运行项目版本指南,可以在以下网址查看 htp:/apr. apache.org/ versioning.html。为了方便大家,我们引用页面上的一段介绍 “版本号是一个包含三个整数的组合:主要版本号.次要版本号.补丁。基本思路是主要版本 是不兼容的,大规模升级API。次要版本号在源代码和二进伺要与老版本保持兼容,补丁 则意味着向前向后的完仝兼容3 1.4.获得 Spring Securi 你可以通过多种方式获得 Spring security。你可以下载打包好的发行包,从 Spring的內 站下载页,下载单独的jar(和实例WAR文件)从 Maven中央资源库(或者 SpringSource Maven资源,狄得快照和里程碑发布)。可选的,你可以通过源代码创建项目。参考项 日网站获得更多细节 项目模块 在 Spring security3.0中,项目已经分割成单独的jar,这更清楚的按照功能进行分割模 块和第三方依赖。如果你在使用 Maven来构建你的项目,你需要把这些模块添加到你的 pom. xml中。即使你没有使用 Maven,我们也推荐你参考这个pom.xm1文件,来了 解第三方依赖和对应的版本。可选的,一个好办法是参考实例应用中包含的依赖库 1.4.1. 1. Core- spring-security-core. jar 包含了核心认证和权限控制类和接口,运程支持和基木供应API。使用 Spring security 所必须的。支持单独运行的应用,远程客户端,方法(服务层)安全和JDBC用户供应。 包含顶级包: org. springframework securitycore org. springframework. security access org. springframework security authentication rg springframework sccurity. provisioning org. springframework. security remoting 1.4.1.2. Web- spring-security-web iar 包含过滤器和对应的web安全架构代码。任何需要依赖 servlet api的。你将需要它,如 果你需要 Spring Security Web认证服务和基于URL的权限控制。主包是 org. springframework. sccurity web 1.4.l.3. Config- spring security-config jar 包含安全命名控制解析代码(因此我们不能直接把它用在你的应用中)。你需要它,如果 使 用了 Spring securityⅫML命名控制来进行配置。主包是 org. springframework security. config 1.4.1.4. LDAP- spring security-Idap jar LDAP认证和实岘代码,如果你需要使用LDAP认让或管理LDAP用户实体就是必须的。顶 级包是org. springframework. security.ldap 1.4. 5. ACL -spring-security-acl jai 处理领域对象ACL实现。用来提供安仝给特定的领域对象实例,在你的应用中。顶级包是 org. springframework. security acso 1.4. 1 6. CAs- spring-security-cas-client jar Spring sccurity的CAs客户端集成。如果你希望使用 Spring sccurity web认讦整合 一个CAS单点登录服务器。顶级包是 org. springframework. security.cas 1.4.1.7. OpenID- spring-security-openid jar Open id web认证支持。用来认证用户,通过一个外部的0 pend服务 org. springframework. security. openid。需要penl4Java。 1.4.2.获得源代码 Spring security是一个开源项目,我们大力推荐你从 subversion获得源代码。这样你 可以获得所有的示例,你可以很容易的建立日前最新的项日。获得项日的源代码对调试也

...展开详情
试读 92P spring-security 官方文档 中文版
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
一直打铁 挺不错的资源。
2019-06-28
回复
对你有帮助就好呀
「已注销」 谢谢,资料挺不错的;
2019-04-19
回复
能帮助到你就好呀
  • 签到达人

    累计签到获取,不积跬步,无以至千里,继续坚持!
关注 私信 TA的资源
上传资源赚积分or赚钱
    最新推荐
    spring-security 官方文档 中文版 50积分/C币 立即下载
    1/92
    spring-security 官方文档 中文版第1页
    spring-security 官方文档 中文版第2页
    spring-security 官方文档 中文版第3页
    spring-security 官方文档 中文版第4页
    spring-security 官方文档 中文版第5页
    spring-security 官方文档 中文版第6页
    spring-security 官方文档 中文版第7页
    spring-security 官方文档 中文版第8页
    spring-security 官方文档 中文版第9页
    spring-security 官方文档 中文版第10页
    spring-security 官方文档 中文版第11页
    spring-security 官方文档 中文版第12页
    spring-security 官方文档 中文版第13页
    spring-security 官方文档 中文版第14页
    spring-security 官方文档 中文版第15页
    spring-security 官方文档 中文版第16页
    spring-security 官方文档 中文版第17页
    spring-security 官方文档 中文版第18页
    spring-security 官方文档 中文版第19页

    试读结束, 可继续读1页

    50积分/C币 立即下载 >