当前位置:在线查询网 > 在线百科全书查询 > spring security

spring security_在线百科全书查询


请输入要查询的词条内容:

spring security


Spring Security 为基于J2EE企业应用软件提供了全面安全服务。特别是使用领先的J2EE解决方案-Spring框架开发的企业软件项目。

人们使用Spring Security有很多种原因,不过通常吸引他们的是在J2EE Servlet规范或EJB规范中找不到典型企业应用场景的解决方案。

特别要指出的是他们不能再WAR 或 EAR 级别进行移植。

这样,如果你更换服务器环境,就要,在新的目标环境进行大量的工作,对你的应用系统进行重新配置安全。

使用Spring Security 解决了这些问题,也为你提供很多有用的,完全可以指定的其他安全特性。

你可能知道,安全包括两个主要操作。

第一个被称为“认证”,是为用户建立一个他所声明的主题。主题一般是指用户,设备或可以在你系统中执行动作的其他系统。

第二个叫“授权”,指的是一个用户能否在你的应用中执行某个操作,在到达授权判断之前,身份的主题已经由身份验证过程建立。

这些概念是通用的,不是Spring Security特有的。

在身份验证层面,Spring Security广泛支持各种身份验证模式,这些验证模型绝大多数都由第三方提供,或则正在开发的有关标准机构提供的,例如 Internet Engineering Task Force.

作为补充,Spring Security 也提供了自己的一套验证功能。

Spring Security 目前支持认证一体化如下认证技术:

HTTP BASIC authentication headers (一个基于IEFT RFC 的标准)

HTTP Digest authentication headers (一个基于IEFT RFC 的标准)

HTTP X.509 client certificate exchange (一个基于IEFT RFC 的标准)

LDAP (一个非常常见的跨平台认证需要做法,特别是在大环境)

Form-based authentication (提供简单用户接口的需求)

OpenID authentication

Computer Associates Siteminder

JA-SIG Central Authentication Service (CAS,这是一个流行的开源单点登录系统)

Transparent authentication context propagation for Remote Method Invocation and HttpInvoker (一个Spring远程调用协议)

等....

开始使用Spring安全的建议步骤


1. 部署“Tutorial”样例程序

这个样例程序包含在spring发布的zip压缩包文件,名为:spring-security-samples-tutorial-<version>.war。把这个文件重命名为tutorial.war(以便于部署到tomcat时简化访问的URL链接)。把这个文件放到tomcat下的webapp目录下,然后启动tomcat服务。之后你就可以用链接http://localhost:8080/tutorial/访问这个应用程序了。这个样例程序没有做太多的事,不过的确提供了一个很好的模板能很好的把spring安全集成到你的项目中。绝大多数初学者在这个过程中常遇到的问题出现在简单的配置错误或者路径错误(或者WEB-inf/lib目录下缺失jar包)。必须在一个可以运行的配置环境的基础上开始构建项目。

当你运行程序的时候, 确保你自己熟悉spring安全的调试日志输出(日志输出默认为打开状态)。虽然框架输出详细的日志,但是很多人却使用得很失败。当你作为一个末授权的用户点击了一个安全的链接,到底发生了什么?当你登录,退出等等情况下的时候到底发生了什么?当进入到安全过滤器链开始处理的时候,你将会看到每一个http请求及如何处理的日志,所以许多在论坛中报道的问题可以按网页浏览器请求的相应日志记录来匹配查找得以解决。

估计时间: 30分钟

2. 观看视频

在我们的技术文章网页里有三两个很好的视频可以观看。你可以观看其中的一个(或者两个)以便对spring安全框架有大致的了解。

估计时间:1小时

3. 紧接着参照Tutorial(指南)进行

这里紧接着上面提到的“Tutorial”样例程序第一步骤,包含了如何一步一步地如何构建spring安全配置。这里提供给你一个唾手可得的方法把spring security集成到你的应用程序。

估计时间: 1小时

4. 回顾参考向导(Reference Guide)

尤其是在命名空间第一章节的第一部分,绝大部分是关于之前学习过的两个步骤,进入前面使用过指南样例(tutorial samle)命令空间元素并且理解它们的主要目的。如果有修改过Petclinic tutorial或者其它的样例程序,参考向导(Reference Guide)的其它部分将带你进入更详细的有关于框架实现类,如果有需要的话,你可以浏览下它们。

估计时间: 1/2 天

5. 部署通讯录(Contacts)样例(可选)

这个样例将让你尝试更多srping安全框架高级属性,尤其是ACL模块。文件spring-security-samples-contacts-<version>.war是标准的web MVC应用程序,它可以让你以特殊的用户(列举在登录页面的用户)登录并且查看数据库中的”通讯录”,每个登录用户都有若干权限列表,如何登录用户有必需的权限的就可以查看若干的通讯录列表。有某个通讯录管理权限的用户就可以删除这个通讯录,创建或者删除其中实例的权限,因此可以分配(重分配)其它用户读,写,管理通讯录中实例的权限。Spring安全应用在方法级通过在接口ContactManager使用注释(annotations)配置来引入的。

6. 保障你的应用程序安全

到这个步骤你应该对spring的安全如果发觉功效有了很好的领会,剩下的工作应该是如果设计你的应用程序来实现安全了。我们强烈推荐你使用指南样例(Tutorial Sample)来完成实际的集成工作,即使你有复杂的需求。大多数在论坛中报告问题的都是出自配置的问题,因为他们在一开始在并不知道将要如果进行的时候做了太多的改变。

建议从“样例指南”(Sample Tutorial)提供的基本配置开始一次改变一个地方。

如何你遵循以上步骤,并且引用以前的参考指南,社区论坛,和FAQ作为帮助,你会发现在你的应用程序中使用spring安全是相当容易的。最重要的是,你将会使用一个安全框架完全容器可移植性,柔韧性,并且有团队支持——不需要编写与维护自己的代码。

估计时间:1/5天

必须注意上面的时间只是估计的,它将随着你的经验的多少,尤其是spring与java的经验而产生非常大的变化。它也将随着你将要集成安全的应用程序复杂性而产生变化。

有些人想要增强域对象存取控制列表能力最大化,而另一些人只需要web请求安全的安全。庆幸的是spring即直接提供了将来的需求,也为定位它们提供了定义了清晰的扩展点。

我们非常欢迎你们反馈你们在实际上在每个步骤中发了多少时间,以便于我们能修改这个页面帮助其它用户将来能更好的评估项目进度表。任何其它关于如果学好spring安全的技巧与是非常欢迎的。

相关分词: spring security