【问题标题】:What is the right way to combine frontend and backend (Angular6/PHP) [closed]结合前端和后端(Angular6 / PHP)的正确方法是什么[关闭]
【发布时间】:2020-03-30 14:17:09
【问题描述】:

信息:

使用 - Angular6(前端)、普通 PHP(后端)、MySQL (db)、Postman(测试)

域名:http://frontend-domain.com; http://backend-domain.com

http://frontend-domain.com目录结构:

app (default angular app)
|_node_modules
|_src
|_...

http://backend-domain.com 目录结构:

app
|_api
|  |_contract
|     |-contract.php (waits for incoming POST requests)
|_config
|  |-Database.php (database class with db connection data and function connect())
|_models
  |-Contract.php (contract class with sql querys)

情况:

我没有任何连接问题或任何查询问题。我能够成功请求后端(api)。

我正在处理登录身份验证,我使用 localstorage 保存了 auth_token 。我需要它来验证用户是否已登录并允许查看仪表板。现在我读到使用 localstorage 不好。

问题:

如果不允许我将数据保存在本地存储中,我还应该如何识别特定客户端上的当前用户?

-> 有人说要在服务器端使用会话:我在想“这将如何工作?” => 它没有用。甚至 php $_COOKIE 也不起作用。我还尝试在 Angular 应用程序(app/src/backend)中实现整个 backend 文件夹。请求仍然成功,但会话和 cookie 仍然不起作用。我还能做什么?

在我的示例中,前端和后端的组合如何?我应该在前端所在的同一个域上使用内部backend,还是应该保留它?是否建议像我一样拆分它?

我真的明白了吗?这是构建后端的方式吗?或者这只是一个简单的(公共)api?

【问题讨论】:

    标签: php angular api frontend backend


    【解决方案1】:

    将后端保留在 Angular 应用中并不是一个好习惯。你以前做的方法很好,把你的后端和前端分开。在这种情况下,您可以使用多种语言并通过 REST API 将其与您的 Angular 应用程序连接

    关于在 localStorage 中保存令牌。我觉得还不错。但是,如果您仍然对此感到不舒服。尝试将您的令牌保存在浏览器 cookie 中。看看这个答案可能会有所帮助。 Is it safe to store a jwt in localStorage with reactjs?

    【讨论】:

      【解决方案2】:

      结合前端和后端的最佳方法是使用 API。在您的后端,您必须使用执行所有操作的 API(REST)创建。前端调用此 api 并获取结果并更新视图。这也是最好的方法,因为它将前端与后端分开,因此您可以更改前端的技术并且它以相同的方式工作。

      【讨论】:

        猜你喜欢
        • 2018-10-07
        • 2018-12-29
        • 1970-01-01
        • 2021-05-25
        • 2020-11-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-13
        • 1970-01-01
        相关资源
        最近更新 更多