2016-11-14 1 views

Antwort

2

Zuerst müssen Sie die register-Methode von DefaultCustomerFacade (Datei in CommerceFacades) überschreiben.

In Kürze erhalten Sie die Standardimplementierung Kraft kleingeschrieben finden Sie verhindern, dass in Ihrem uid Großbuchstaben mit -> customer.setUid(registerData.getLogin().toLowerCase())

Dann haben Sie eine neue Bean mit alias „acceleratorAuthenticationProvider“ erstellen, die die Methode authenticate außer Kraft setzen .

Bei dieser Methode haben Sie so etwas wie

final UserModel userModel = findUserCaseInsensitive(authentication.getName()); 
if (userModel != null) 
{ 
    usernameResult = userModel.getUid(); 
    token = new UsernamePasswordAuthenticationToken(authentication.getName(), authentication.getCredentials()); 
    token.setDetails(authentication.getDetails()); 
} 

Verfahren findUserCaseInsensitive implementieren sollte ein DAO nennen, die eine flexible Suche durchführen wird. Hier ist ein Beispiel:

SELECT {user.PK} FROM {User as user} WHERE lower({user.uid}) = lower(?uid)

Verwandte Themen