Server-Seitige Validierung mit Spring Web MVC-validator-Klasse
Ich entwickle app mit Spring Web MVC, Hibernate..
Nun, ich habe meine login-Seite-Konfiguration wie :
<bean name="/uservalidate.htm" class="UserValidateFormController">
<property name="sessionForm" value="true"/>
<property name="commandName" value="User"/>
<property name="commandClass" value="User"/>
<property name="formView" value="login"/>
<property name="userSecurityProcessor" ref="IUserSecurityProcessor"/>
<property name="validator">
<bean class="LoginValidator"/>
</property>
<property name="successView" value="layout.jsp"/>
Nun, nach der Abgabe von der login-Seite Steuern geht Validator-Klasse, d.h. LoginValidator..
Aber in dieser Klasse bin ich nicht immer Referenz meiner userSecurityProcessor-was gibt mir der server-Seite Daten..
Kann jemand bitte vorschlagen, wie kann ich das überprüfen von Benutzername und Kennwort in meinem Validator-Klasse..?
Vielen Dank im Voraus..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie eine Instanz der LoginValidator als separate bean. In Ihrem LoginValidator, fügen Sie ein userSecurityProcessor Eigenschaft. Dann in deine config-Datei injizieren eine Referenz auf eine Instanz einer IUserSecurityProcessor, genau wie du oben. So etwas wie dieses:
Dann ändern
zu
Können Sie' get
userSecurityProcessor
im Validator. Das einzige Objekt, das Sie bekommen wird, ist, diecommandObject
. In Ihrem Fall ist esUser
Aber wenn Sie das brauchen, dann haben Sie es zu binden im Validator
Nun binden Sie diese Prüfung mit Ihrem Formular.
public void validate(Object target, Fehler, Fehler) {
User User = (User) - Ziel;
String username = user.getUsername();
String Passwort = user.getPassword();
..........
}