首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在express.js的每个身份验证中合并登录和注册页面

在express.js的每个身份验证中合并登录和注册页面
EN

Stack Overflow用户
提问于 2011-10-20 11:10:27
回答 1查看 718关注 0票数 0

在默认的密码身份验证的每个身份验证设置中,登录和注册页面是不同的。我尝试合并相应的jade文件,并将get/post寄存器和服务器文件中的登录路径安排为相同的路径。然后我加载了合并后的页面,得到了以下错误:

500输入: /Users/eterna/Downloads/fame/views/index.jade:8 6| label(for=everyauth.password.loginFormFieldName)登录7|输入(type=‘text’,value=userParamseveryauth.password.loginFormFieldName),label(for=everyauth.password.emailFormFieldName) > 8| #ReferenceError 9| label(for=everyauth.password.emailFormFieldName)ReferenceError 10| input(type='text',name=everyauth.password.loginFormFieldName =‘Email’,value= userParams 'email') 11| #password userParams未定义。

我显然走错了路。有没有一个简单的解决方案可以把登录和注册放在同一个页面上?

EN

回答 1

Stack Overflow用户

发布于 2012-06-28 13:58:54

考虑阅读默认设置的代码。不查看您的代码(因为您没有发布它),我可以从错误中看出它跳过了第7行,因为您正在尝试访问userParams,它不存在于登录,但它确实存在于注册。看起来userParams只是保存用户在字段中输入的内容,因此当出现注册错误时,用户已经输入的文本将被放入表单中。(例如,如果他们输入他们的电子邮件地址,但他们的密码太短,注册错误,并将仍然有他们的电子邮件地址在输入字段中)

结合注册和登录的最简单方法是客户端。你可以1)在页面上有两个提交按钮--注册和登录。根据用户单击的内容,表单将发布到不同的入口点。

2)创建注册和登录选项卡,这样当您单击注册时,您将显示注册表单,当您单击登录选项卡时,它将切换到其他表单

您可以通过覆盖respondToLoginFail来使每个身份验证执行此逻辑,因此当它尝试登录人员但失败时,它将重新构建请求并对注册路径进行post调用。我不建议你这么做,但还是有可能做到的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7830693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档