Procházet zdrojové kódy

SEC-1037: Made LdapAuthenticationProvider implement MessageSourceAware.

Luke Taylor před 17 roky
rodič
revize
d508adbf8b

+ 8 - 2
core/src/main/java/org/springframework/security/providers/ldap/LdapAuthenticationProvider.java

@@ -32,6 +32,8 @@ import org.springframework.security.userdetails.UsernameNotFoundException;
 import org.springframework.security.userdetails.ldap.LdapUserDetailsMapper;
 import org.springframework.security.userdetails.ldap.UserDetailsContextMapper;
 import org.springframework.security.util.AuthorityUtils;
+import org.springframework.context.MessageSource;
+import org.springframework.context.MessageSourceAware;
 import org.springframework.context.support.MessageSourceAccessor;
 import org.springframework.ldap.NamingException;
 import org.springframework.ldap.core.DirContextOperations;
@@ -100,7 +102,7 @@ import org.apache.commons.logging.LogFactory;
  *       </bean>
  *     </constructor-arg>
  *   </bean>
- *    </pre>
+ *</pre>
  *
  * <p>
  * This would set up the provider to access an LDAP server with URL
@@ -125,7 +127,7 @@ import org.apache.commons.logging.LogFactory;
  * @see org.springframework.security.providers.ldap.authenticator.BindAuthenticator
  * @see DefaultLdapAuthoritiesPopulator
  */
-public class LdapAuthenticationProvider implements AuthenticationProvider {
+public class LdapAuthenticationProvider implements AuthenticationProvider, MessageSourceAware {
     //~ Static fields/initializers =====================================================================================
 
     private static final Log logger = LogFactory.getLog(LdapAuthenticationProvider.class);
@@ -211,6 +213,10 @@ public class LdapAuthenticationProvider implements AuthenticationProvider {
         this.useAuthenticationRequestCredentials = useAuthenticationRequestCredentials;
     }
 
+    public void setMessageSource(MessageSource messageSource) {
+        this.messages = new MessageSourceAccessor(messageSource);
+    }
+
     public Authentication authenticate(Authentication authentication) throws AuthenticationException {
         Assert.isInstanceOf(UsernamePasswordAuthenticationToken.class, authentication,
             messages.getMessage("AbstractUserDetailsAuthenticationProvider.onlySupports",