gpt4 book ai didi

session - 如何在 Angular JS 应用程序中处理身份验证

转载 作者:行者123 更新时间:2023-12-03 13:16:06 24 4
gpt4 key购买 nike

我正在我的 Angular js 应用程序中实现一个身份验证系统。

我的计划如下:

  • 获取用户信息(登录表单中的姓名和密码)
  • 检查用户是否存在
  • 如果存在服务器以 session cookie 响应,前端将重定向到某个页面。
  • 然后用户将执行一些将生成 API 请求的任务
  • API 请求应该包含在第 3 步发送的 cookie 信息
  • 服务器检查是否生成了 cookie,如果找到了 cookie,则使用 API 请求结果进行响应。在我的服务中,我正在做类似
  • 的事情

    MyApp.service('myAuth', function($http, $q) {
    this.authHeader = null;
    this.checkAuth = 函数(){
    //做api调用,如果成功设置this.authHeader = response
    }
    this.isAuthenticaed = function(){
    这个.authHeader ?返回 this.authHeder :返回 false;
    }

    提交登录表单后,我将调用 checkAuth 并从服务器取回我的 session cookie,如何在进行下一次 REST 调用时添加 cookie 信息,以及当用户在登录后浏览整个应用程序时,我确实想检查每个时间 isAuthenticaed true 或 false,在 Angularjs 中,当它导航到另一个页面时,它会在第一次调用设置为 true 后重置吗?我的方法 1-6 好还是你有什么具体建议?
    顺便说一句,我检查了以前的条目,但这些不是我想知道的。

    最佳答案

    我不确定你的后端,但我会这样做

  • 创建一个单独的登录页面(专用 url 不是 Angular subview 或
    模态对话框)。
  • 如果用户未通过身份验证重定向到此登录
    页。这是通过服务器重定向完成的。此页面可能会或可能不会使用
    Angular 框架,因为它只涉及发送用户\密码到
    服务器。
  • 从登录页面发出 POST(不是 AJAX 请求),并在服务器上进行验证。
  • 在服务器上设置 auth cookie。 (不同的框架做的不同。ASP.Net 设置表单例份验证cookie。)
  • 一旦用户通过身份验证,将用户重定向到实际的 Angular 应用程序并加载其所有组件。

  • 这节省了在 Angular 中管理客户端身份验证所需的任何代码。如果用户登陆此页面,则他已通过身份验证并拥有 cookie。

    此外,默认浏览器行为是在每个请求中发送与域关联的所有 cookie,因此您不必担心 angular 是否发送了一些 cookie。

    关于session - 如何在 Angular JS 应用程序中处理身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18288329/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com