【问题标题】:How do you know which XML parameters a Spring configuration tag has?你怎么知道 Spring 配置标签有哪些 XML 参数?
【发布时间】:2010-11-30 06:00:11
【问题描述】:

我刚刚阅读了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 与“password-encoder”配合使用(如果确实如此)?

【问题讨论】:

  • “spring”标签不合适,指的是Spring Framework,而不是Spring Security。
  • 在问题标题和嵌入问题(“一般来说,如何知道 Spring 配置的标签和参数是什么?”)中,我想了解整个 Spring。我以 Spring 安全为例。
  • @skaffman - “一般来说,如何知道 Spring 配置的标签和参数是什么?”是一个一般的 Spring 问题,所以“spring”标签是有意义的。我建议“spring-framework”用于 Spring 框架,“spring”通常用于 Spring 产品套件。

标签: xml spring spring-security


【解决方案1】:

你看看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>

【讨论】:

猜你喜欢
  • 2012-06-12
  • 1970-01-01
  • 2016-04-28
  • 2013-12-12
  • 2015-11-14
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 1970-01-01
相关资源
最近更新 更多