结合前端和后端(Angular6 / PHP)的正确方法是什么

信息:


使用 - Angular6(前端)、普通 PHP(后端)、MySQL(数据库)、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 也不起作用。backend我还尝试在 Angular 应用程序(app/src/backend)中实现整个文件夹。请求仍然成功,但会话和 cookie 仍然不起作用。我还要做什么?


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


我什至得到它吗?这是构建后端的方式吗?或者这只是一个简单的(公共)api?


扬帆大鱼
浏览 223回答 2
2回答

元芳怎么了

将后端保留在 Angular 应用程序中并不是一个好习惯。你以前做的方法很好,把你的后端和前端分开。在这种情况下,您可以使用多种语言并通过 REST API 将其与您的 Angular 应用程序连接起来关于在 localStorage 中保存令牌。我觉得还不错。但是,如果您仍然对此感到不舒服。尝试将您的令牌保存在浏览器 cookie 中。看看这个答案可能会有所帮助。使用 reactjs 在 localStorage 中存储 jwt 是否安全?

HUX布斯

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