1
我試圖恢復密碼在春季安全和我已經包括.antMatchers("/loginrecover").permitAll()
這在SecurityConfig.java
。如何在spring(4.0)security java config中恢復密碼?
如何在Spring安全中實現登錄密碼恢復?
我試圖恢復密碼在春季安全和我已經包括.antMatchers("/loginrecover").permitAll()
這在SecurityConfig.java
。如何在spring(4.0)security java config中恢復密碼?
如何在Spring安全中實現登錄密碼恢復?
我更喜歡密碼重置而不是恢復,因爲Passoword是一個必須加密並保存在數據庫中的敏感數據,決不能從密碼中取得明文密碼,除非我知道更多信息關於你的要求我不能評論。
對於重置/恢復密碼,您可以通過LINK發送電子郵件給用戶,以重置郵件中的密碼或密碼本身。
要求用戶從視圖中註冊電子郵件ID並將其發送給控制器調用服務映射到/loginrecover
的Controller,該服務將向用戶發送郵件。使用JAVA Mail api,請參考下面的代碼片段發送郵件。
public void sendMail(String emailId)
{
MimeMessage message = this.mailSender.createMimeMessage();
MimeMessageHelper mimeHelper;
try {
mimeHelper = new MimeMessageHelper(message,true);
mimeHelper.setTo(emailId);
mimeHelper.setFrom("[email protected]");
mimeHelper.setSubject("Password Reset");
mimeHelper.setText("<html><body>hi,<br/><a href='http://yourdomain:8080/Context/newPassword/"+someHash+"/'> Click here</a> to reset password</body></html>",true);
mailSender.send(message);
} catch (MessagingException e) {
System.out.println("Error Sending email "+ e.getMessage());
}
}
的someHash
必須找出你的用戶,並確保它不能被他人猜到的一種獨特的方式,你可以使用SHA256散列技術吧。