2017-03-01 6 views
0

私は春の初心者です。私はユーザーの電子メールを使用してログインページに立ち往生しています。 jdbc-user-serviceを使用してUserNameとPasswordを使用してログインを作成できます。しかし今、私はUserEmailを使ってログインを変更したいと思います。以下のようにユーザー名とパスワードのログインのための電子メールで春のログインを作成するには?

サンプル構成:

<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

usrenameではなく電子メールアドレスで選択するようにSQLクエリを変更しようとしましたか?

例:.. WHERE emailaddressではなく.. WHERE username

+0

はい、それは動作しますが、あなたに@Andrelに感謝します。 – soewin

関連する問題