2012-03-28 52 views
0

我有一个expressjs应用程序与everyauth设置。只允许特定用户使用everyauth登录

Everyauth工作正常。现在,我希望everyauth允许用户登录到其电子邮件ID与正则表达式匹配的应用程序。

说我希望人们登录其电子邮件以字母“富”开始(假设,[email protected])或像adeptocorp.com特定域的(假设[email protected]

请给我提供一些解决方案来解决这种情况

+0

>请提供我一些解决方案来解决这种情况|| ||您应该考虑告诉我们您尝试过的以及为什么/如何失败。只是要求解决方案会让你无处可寻。 – Randolpho 2012-03-28 14:10:12

回答

0

如果您使用密码认证(我认为原因,否则你不必关心电子邮件地址),那么你可以使用validateRegistration函数。

对于其他人,写像一块连接中间件:

function checkEmail(regex){ 
    return function (req, res, next) { 
     // get everyauth.user via the everyauth helper 
     if (!everyauth.user.email.test(regex)) { 
      res.writeHead(403); 
      res.end("e-mail address not allowed"); 
     } 
     else { next(); } 
    } 
}; 

而且everyauth像使用权后,使用它:

connect // or express 
... 
.use(checkEmail) 
+0

我正在使用谷歌和Facebook的身份验证 – ArjunUrs 2012-03-28 15:26:01

+0

编辑添加了一些自定义中间件 – 2012-03-28 15:32:46

相关问题