<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 2. Security命名空间配置</title><link rel="stylesheet" href="css/html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"><link rel="start" href="springsecurity.html" title="Spring Security"><link rel="up" href="getting-started.html" title="Part I. 入门"><link rel="prev" href="introduction.html" title="Chapter 1. 介绍"><link rel="next" href="sample-apps.html" title="Chapter 3. 示例程序"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div xmlns:fo="http://www.w3.org/1999/XSL/Format" style="background-color:white;border:none;height:73px;border:1px solid black;"><a style="border:none;" href="http://static.springframework.org/spring-ws/site/" title="The Spring Framework - Spring Web Services"><img style="border:none;" src="images/xdev-spring_logo.jpg"></a><a style="border:none;" href="http://www.springsource.com/" title="SpringSource"><img style="border:none;position:absolute;padding-top:5px;right:42px;" src="images/s2-banner-rhs.png"></a></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="ns-config"></a>Security命名空间配置</h1></div></div></div>
<div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d4e121"></a>2.1. 介绍</h2></div></div></div>
<p>从Spring-2.0开始可以使用命名空间的配置方式。
使用它呢,可以通过附加xml架构,为传统的spring beans应用环境语法做补充。
你可以在spring<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://static.springframework.org/spring/docs/2.5.x/reference/xsd-config.html" target="_top">参考文档</a>得到更多信息。
命名空间元素可以简单的配置单个bean,或使用更强大的,定义一个备用配置语法,这可以更加紧密的匹配问题域,隐藏用户背后的复杂性。
简单元素可能隐藏事实,多种bean和处理步骤添加到应用环境中。
比如,把下面的security命名元素添加到应用环境中,将会为测试用途,在应用内部启动一个内嵌LDAP服务器:
</p><pre class="programlisting">
<security:ldap-server />
</pre><p>
这比配置一个Apache目录服务器bean要简单得多。
最常见的替代配置需求都可以使用<code class="literal">ldap-server</code>元素的属性进行配置,这样用户就不用担心他们需要设置什么,不用担心bean里的各种属性。
<sup>[<a name="d4e127" href="#ftn.d4e127">1</a>]</sup>。使用一个良好的XML编辑器来编辑应用环境文件,应该提供可用的属性和元素信息。
我们推荐你尝试一下
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.springsource.com/products/sts" target="_top">SpringSource工具套件</a>
因为它具有处理spring组合命名空间的特殊功能。
</p>
<p>要开始在你的应用环境里使用security命名空间,你所需要的就是把架构声明添加到你的应用环境文件里:
</p><pre class="programlisting">
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.2.xsd">
...
</beans>
</pre><p>
在许多例子里,你会看到(在示例中)应用,我们通常使用"security"作为默认的命名空间,而不是"beans",这意味着我们可以省略所有security命名空间元素的前缀,使上下文更容易阅读。
如果你把应用上下文分割成单独的文件,让你的安全配置都放到其中一个文件里,这样更容易使用这种配置方法。
你的安全应用上下文应该像这样开头
</p><pre class="programlisting">
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.2.xsd">
...
</beans:beans>
</pre><p>
就在这一章里,我们都将假设使用这种语法。
</p>
<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d4e135"></a>2.1.1. 命名空间的设计</h3></div></div></div>
<p>命名空间被用来设计成,处理框架内最常见௚