我正在使用java邮件和激活来向用户发送电子邮件。当用户单击忘记密码时,将触发用户电子邮件的邮件,其中包含用于重置密码的链接。
我不希望用户再次使用相同的链接,所以当他点击电子邮件中的链接时...链接应该被禁用..
我不知道怎么做......
String body = "<a href='resetpage.jsp'>Reset Password</a>";
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(username));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(email));
message.setSubject("Password Reset");
MimeBodyPart mbp = new MimeBodyPart();
mbp.setText(body, "UTF-8", "html");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(mbp);
message.setContent(multipart);
Transport.send(message);
从这段代码中,我收到了电子邮件中的链接..但现在用户点击电子邮件中的链接后...链接应该被禁用..或者我想确保..当用户再次点击相同的链接时不应该工作..
答案 0 :(得分:1)
您是否考虑过使用随机令牌? 此令牌可以包含在链接中(reset.jsp?token = RANDOM) 每当用户被定向到重置页面时,它都可以读取给定的令牌并将其标记为已使用。
再次使用已使用的令牌时,您可以将用户重定向到另一个页面(例如登录页面或错误页面)。
(我知道这可能不是您问题的完整答案,但我无法在您的问题中添加评论。)
答案 1 :(得分:1)
如果我理解正确,您希望用户能够点击将实现某些功能的链接,然后使链接无效,以确保无法重复使用该链接进行其他更改。
我建议的是: