2017-03-01 5 views
0

Ich bin neu in Frühling und lernen durch. Ich bin auf einer Anmeldeseite mit Benutzer-E-Mail fest. Ich bin in der Lage, Login mit Benutzername und Passwort unter Verwendung jdbc-Benutzer-Service zu erstellen. Aber jetzt möchte ich die Anmeldung mit UserEmail ändern.Wie erstelle ich einen Spring Login mit Email?

Beispielkonfiguration für Benutzername und Passwort wie folgt:

<security:form-login login-page="/login" 
    default-target-url="/product/productList/all" authentication-failure-url="/login?error" 
    username-parameter="username" password-parameter="password" /> 
<security:logout logout-success-url="/login?logout" /> 
</security:http> 
<security:authentication-manager> 
    <security:authentication-provider> 
     <security:jdbc-user-service data-source-ref="dataSource" 
      authorities-by-username-query="SELECT username, authority FROM authorities WHERE username = ?" 
      users-by-username-query="SELECT username, password, enabled FROM users WHERE username = ?" /> 
     <security:password-encoder ref="bcryptEncoder" /> 
    </security:authentication-provider> 
</security:authentication-manager> 

Login Form wie folgt:

<form name="loginForm" action="<c:url value="/j_spring_security_check" />" method="post"> 

    <c:if test="${not empty error}"> 
     <div class="error" style="color: #ff0000;">${error}</div> 
    </c:if> 

    <div class="form-group"> 
     <label for="username">UserName : </label> 
     <input type="text" id="username" name="username" class="form-control" /> 
    </div> 
    <div class="form-group"> 
     <label for="password">Passwrod:</label> 
     <input type="password" id="password" name="password" class="form-control" /> 
    </div> 
    <input type="submit" value="Submit" class="btn btn-default"> 
    <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" /> 
</form> 

Wie kann ich ändern Benutzer mit E-Mail an Authentifizieren und auch mit Benutzerautorisierung binden, zu ? Bitte helfen Sie mir, ein Demo-Tutorial zu bekommen.

Vielen Dank.

Antwort

1

Haben Sie versucht, die SQL-Abfragen so zu ändern, dass Sie auf die E-Mail-Adresse statt auf den Benutzernamen klicken.

Beispiel: .. WHERE emailaddress statt .. WHERE username

+0

Ja, es funktioniert, danke @Andrel. – soewin

Verwandte Themen