我是 Spring 新手,正在学习。我被困在使用用户电子邮件的登录页面上。我可以使用 jdbc-user-service 使用用户名和密码创建登录。但现在我想使用 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>
如何更改为使用电子邮件验证用户并同时绑定(bind)用户授权?请帮助我获取演示教程。
非常感谢。
最佳答案
您是否尝试过更改 SQL 查询,以便选择电子邮件地址而不是用户名。
示例:.. WHERE 电子邮件地址
而不是 .. WHERE 用户名
关于java - 如何使用电子邮件创建Spring登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540239/