我有这个逻辑,我试图实施,而我没有这样做......这是交易。我已经为新用户实现了确认邮件,现在我将使用我将粘贴的代码,我基本上阻止用户在确认他的电子邮件地址之前登录到应用程序。好吧相当清楚。但现在我想把他送到专门的" verifiaction"页面中只有某种类型的文本,例如"您需要在登录前验证电子邮件,点击重新发送确认链接,blablabla"。我也用铁路由器。
我这样做是为了检查:
//(server-side) called whenever a login is attempted
Accounts.validateLoginAttempt(function(attempt){
if (attempt.user && attempt.user.emails && !attempt.user.emails[0].verified ) {
console.log('email not verified');
// Router.go('verification'); - some kind of my "logic" what I want to
}
return true;
});
答案 0 :(得分:1)
有一个discussion with the same issue here,在评论中,用户建议重新发送验证电子邮件令牌并提醒用户,而不是重定向到页面,这会更简单。代码如下:
Accounts.validateLoginAttempt(function(attempt){
if (attempt.user && attempt.user.emails && !attempt.user.emails[0].verified ) {
Accounts.sendVerificationEmail(user._id);
Alert('Your email has not been verified, we have re-sent the email. Please verify before logging in.');
//you could also use a modal or something fancy if you want.
}
return true;
});
如果肯定想创建一个页面,有an answer here关于如何做到这一点,但是你如何做到这取决于你是否希望它成为布局的一部分。