Spring Security Salz Konfiguration mit MD5 die Verwendung der basic-String-Objekt

Ich habe dieses forum und die docs, aber fand keine Antwort auf diese Frage ist, wie kann ich einen basic-Spring Security-Konfiguration setup mit einem einfachen java-Objekt als Salz für die MD5-Codierung?

Ist hier mein Spring Security-Kontext snippet Konfiguration:

  <beans:bean id="saltSource" class="com.myproject.sec.util.MyString" scope="singleton" >
      <beans:constructor-arg value="12345" />
  </beans:bean>

  <authentication-manager alias="authenticationManager">
    <authentication-provider user-service-ref="userService">
        <password-encoder hash="md5">
            <salt-source ref="saltSource" />
        </password-encoder>
    </authentication-provider> 
  </authentication-manager>

...aber diese Konfiguration wird eine unerwünschte Fehler Ausnahme beschweren, dass das Salz die Quelle ist nicht in der org.springframework.Sicherheit.die Authentifizierung.dao.SaltSource-Schnittstelle, aber ich will nicht zu verwenden, eine Eigenschaft von Benutzerdaten wie mein Salz (da diese Schnittstelle unterstützt Benutzer-Details), sondern meine eigene String-Objekt, wie oben dargelegt. Wie mache ich das erreichen?

Auch, als eine zweite, eng damit verbundene Frage, ich weiß, ich kann das Salz als Benutzername wie hier:

  <authentication-manager alias="authenticationManager">
    <authentication-provider user-service-ref="userService">
        <password-encoder hash="md5">
            <salt-source user-property="username"/>
        </password-encoder>
    </authentication-provider> 
  </authentication-manager>

und, haben eine system weite Feste Salz von "12345" wie folgt:

  <authentication-manager alias="authenticationManager">
    <authentication-provider user-service-ref="userService">
        <password-encoder hash="md5">
            <salt-source system-wide="12345"/>
        </password-encoder>
    </authentication-provider> 
  </authentication-manager>

...aber wie bekomme ich das Salz als eine Verkettung von Benutzername und systemweite Konstante "12345", z.B. wenn der Benutzername ist " fred, die Salz als "fred12345" ohne Rückgriff auf übergeordnete umsetzen meiner eigenen Codierung?

InformationsquelleAutor Cem Sultan | 2013-10-02
Schreibe einen Kommentar