login - “Evaluate Now, Respond Later”的最佳实践?

标签 login error-handling

假设我正在构建一个登录系统。用户在字段中输入用户名和密码,然后通过HTTPS将其发送到服务器,服务器将在页面加载之前验证登录名。如果发送了错误的密码,登录显然会立即失败,但是您可能希望该错误消息稍后在页面中显示在登录框附近。

显而易见的解决方案是设置全局标志,并让登录框选中它,并在必要时添加错误消息,但是我的理解是,最好避免使用全局变量。是否有另一种简单的方法可以实现此功能?

最佳答案

对于非AJAX登录页面,通常的做法是使用url中的额外查询参数将用户浏览器重定向到登录页面,在伪代码中,这是登录验证 Controller 代码段:

success = checkLogin(username,password)
if (success == false)
  redirect('http://example.com/login?failedlogin=true')

登录页面 Controller 将负责检测此查询参数并告诉 View 代码显示失败消息。我认为“全局标志”一词不适用于这种做法,因此它应该符合您的要求。

如果登录页面使用Ajax,则登录页面上的Javascript将获取AJAX调用的结果,并使用失败消息更新相应的DOM元素。

关于login - “Evaluate Now, Respond Later”的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7571712/

相关文章:

android - 如何将 RestErrorHandler 与 AndroidAnnotations 一起使用?

jquery - jEditable,在决定要做什么之前检查POST请求的回复

login - Google 登录网站错误 : Permission denied to generate login hint for target domain

python - 无法访问 HTML 表单上的文本框

ios - 解析 iOS SDK : How to persist login?

login - 从 chrome 扩展程序登录到我的网站

json - YII-在表单验证中添加错误代码

c# - 为什么异常过滤器比捕获和重新抛出更可取?

android - 在 MVVM 架构中处理来自 api 端点的错误的最佳实践是什么?

web-applications - 跨多个网站的透明单点登录