你怎么知道Spring配置标签有哪些XML参数?

时间:2009-09-21 23:04:53

标签: xml spring spring-security

我刚刚阅读an article,其中显示了以下Spring Security XML配置:

<authentication-provider>  
  <password-encoder hash="sha" />  
  <jdbc-user-service data-source-ref="dataSource" />  
</authentication-provider>

我想知道密码编码器是否可以采用某些参数组合来使其使用SHA-256。我很容易找到ShaPasswordEncoder的Java构造函数,但是如何判断password-encoder标记是否接受Java对象的参数?

一般来说,如何判断Spring配置的标签和参数是什么?

例如,我如何知道ShaPasswordEncoder与“密码编码器”的关系(如果确实如此)?

1 个答案:

答案 0 :(得分:2)

你看XML Schema。例如:

<xs:attribute name="hash">
  <xs:annotation>
    <xs:documentation>
      Defines the hashing algorithm used on user passwords. We recommend
      strongly against using MD4, as it is a very weak hashing algorithm.
    </xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:token">
      <xs:enumeration value="plaintext"/>
      <xs:enumeration value="sha"/>
      <xs:enumeration value="sha-256"/>
      <xs:enumeration value="md5"/>
      <xs:enumeration value="md4"/>
      <xs:enumeration value="{sha}"/>
      <xs:enumeration value="{ssha}"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>

所以,你应该这样做:

<authentication-provider>  
  <password-encoder hash="sha-256" />  
  <jdbc-user-service data-source-ref="dataSource" />  
</authentication-provider>