- Affected Version
- WoltLab Suite 5.3
- Affected App
- WoltLab Suite Core
Guten Morgen
Ich weiss nicht genau ob dies ein Fehler ist, ob ich etwas übersehen habe beim testen oder ob es ansonsten ggf als Feature Request verwendet werden könnte.
Ich wollte mittels EventListener eine neue UserAuthentication einrichten. Hier mal eine vereinfachte Variante:
<eventlistener name="userAuthentication">
<eventclassname>wcf\system\user\authentication\UserAuthenticationFactory</eventclassname>
<eventname>init</eventname>
<listenerclassname>wcf\system\event\listener\UserAuthenticationFirstTestListener</listenerclassname>
</eventlistener>
Im Eventlistener überschriebe ich dann die $eventObj->className mit der neuen Methode.
class FirstTestUserAuthentication extends DefaultUserAuthentication {
/**
* @inheritDoc
*/
protected function getUserByLogin($login) {
return $this->getUserByFirstField($login);
}
Wie bei der EmailUserAuthentication frage ich dann den User ab einfach nach einer anderen Spalte in der Tabelle. Dies klappt auch soweit. Sobald ich nun aber einen weiteren EventListener machen würde mit einer weiteren UserAuthentifizierung wird nur immer meine erste Abgefragt. Ein wcfDebug im zweiten Eventlistener zeigt mir das er diesen durchläuft. Die zweite UserAuthentication Datei ignoriert er aber komplett.
Muss ich den EventListener wo anders setzen, oder ist es hier allgemein nicht vorgesehen mehrere Authentifizierungen einzubinden?