2009-09-21 3 views
2

Я просто читал an article, который показал следующее Spring Security конфигурации XML:Как узнать, какие параметры XML имеет тег конфигурации Spring?

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

Я задавался вопросом, если пароль кодировщик может занять некоторое сочетание параметров, которые сделали бы его использовать SHA-256. Я легко нашел конструктор Java для ShaPasswordEncoder, но как я могу узнать, принимает ли тег пароли-пароль этот аргумент для объекта Java?

В общем, как можно сказать, что представляют собой теги и параметры для конфигурации Spring?

Например, как я узнаю, что этот ShaPasswordEncoder идет с «паролем-кодировщиком» (если это действительно так)?

+0

"Весна" тег неуместна, который относится к Spring Framework, а не Spring Security. – skaffman

+0

В заголовке вопроса и вложенном вопросе («В общем, как можно сказать, каковы теги и параметры для конфигурации Spring?»), Я хочу знать о Spring в целом. В качестве примера я использовал Spring security. – dfrankow

+0

@skaffman - «В общем, как можно сказать, какие теги и параметры для конфигурации Spring?» является общим весенним вопросом, поэтому тег «весна» имеет смысл. И я бы предложил «Spring-framework» для Spring Framework, а «весна» - для набора продуктов Spring в целом. – SingleShot

ответ

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> 
+0

Отлично! В общем, схема указана в xsi: schemaLocation в файле конфигурации, поэтому для конфигурации bean я использую http://www.springframework.org/schema/beans/spring-beans-2.5.xsd. – dfrankow

+0

Но к каким классам относятся эти перечисленные значения? Я не вижу, где это определено. – Marplesoft