2017-03-01 100 views
0

我是新來的春天和學習。我被困在使用用戶電子郵件的登錄頁面上。我可以使用用戶名和密碼創建登錄,使用jdbc-user-service。但現在我想更改登錄使用UserEmail如何使用電子郵件創建Spring登錄?

<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> 

登錄表單如下:

用戶名和如下密碼登錄示例配置

<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> 

我怎樣才能改變驗證用戶的電子郵件,並與用戶授權進行綁定,太?請幫助我獲得演示教程。

非常感謝。

回答

1

您是否嘗試過更改SQL查詢,以便您選擇電子郵件地址而不是usrename。

例子:.. WHERE emailaddress,而不是.. WHERE username

+0

是它的工作原理,謝謝@Andrel。 – soewin

相關問題