【问题标题】:Angular4 session handlingAngular4 会话处理
【发布时间】:2018-03-24 03:14:31
【问题描述】:

我有一个用于 API 的 Sailsjs 后端,我想将 Angular4 用于我的前端。我想知道,如何处理 Angular 上的会话?我尝试阅读文档,但无法提出任何建议。

具体来说,我需要能够处理登录、注销、CSRF 保护等。是否可以在 Sails 中使用 Angular4,因为 Sails 内置了所有这些功能?

【问题讨论】:

标签: angular


【解决方案1】:

由于您想在 Angular4 中使用sails,您可能需要在index.html 中添加sails.io.js 为<script src="/assets/sails.io/sails.io.js"></script>,将您的sails.io.js 保存在assets/sails.io/ 文件夹中,然后导入SailsModule 并注册您在 app.module.ts 中的sails 模块。另外添加

imports:[SailsModule.forRoot()]

你可能需要在构造函数中注入 SailsS​​ervice 并且 ngOnInit() 调用 SailsS​​ervice 的 connect() 方法。然后你可以使用 SailsS​​ervice 的request(options):Observable 方法来获取请求(检查http://sailsjs.com/documentation/reference/web-sockets/socket-client/io-socket-request 和检查http://sailsjs.com/documentation/concepts/sessions)在req.session 的帮助下你可以获得会话值和属性。

【讨论】:

    【解决方案2】:

    是的, 您可以通过会话服务存储会话详细信息来管理会话。

    为了获得最佳实践,请使用管理所有会话、登录和注销的 google firebase 身份验证功能。

    易于实施... 从谷歌免费... 由谷歌维护....

    【讨论】:

      【解决方案3】:

      目前,我正在开发一个 angular4 应用程序,其后端 API 是用 PHP 编写的,我只是从我的 Angular 前端访问它们并获取数据,现在为了维持会话,我只是使用 SessionStorage 有时javascript 的 LocalStorage 属性,允许我们在 Web 浏览器中保存键/值对。

      ex: sessionStorage.setItem("keyname", "value");// 设置

      var myvar=sessionStorage.getItem("keyname");//获取

      【讨论】:

        【解决方案4】:

        你有两种选择

        1. window.SessionStorage 2. 角服务

        1.在您的情况下,您可以使用 SessionStroage 所以每当用户登录时,只需像这样在 sessionStroage 中设置数据

        sessionStorage.setItem('userData', userObj);
        

        退出时

        sessionStroage.clear();
        

        2。第二种选择是将您的数据放在 globalService 中,因此该服务将包含应用内数据,一旦用户注销,只需清除服务数据。像这样:-

        @Injectable()
        export class GlobalService {
        login(){
          //initialize data here....
        }
        
        logout(){
           //remove your data....
         }
        }
        

        注意:如果关闭浏览器选项卡,此数据将丢失。如果您想恢复这些数据,请将其放入 window.localStorage

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-11
          • 2011-10-07
          • 2017-05-27
          • 1970-01-01
          • 2023-03-24
          • 1970-01-01
          • 2014-03-31
          • 2019-08-20
          相关资源
          最近更新 更多