信息:
使用-Angular6(前端),纯PHP(后端),MySQL(数据库),邮递员(测试)
域名:http://frontend-domain.com; http://backend-domain.com
http://frontend-domain.com目录结构:
app (default angular app)
|_node_modules
|_src
|_...
http://backend-domain.com Directoy结构:
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不好。
问题:
如果不允许我将数据保存在localstorage中,我还应该如何识别特定客户端上的当前用户?
->有人说要在服务器端使用该会话:我正在考虑“这将如何工作?” =>没用。甚至PHP $ _COOKIE也不起作用。我还尝试在角度应用程序(app / src / backend)中实现整个backend
文件夹。请求仍然成功,但是会话和cookie仍然不起作用。我该怎么办?
在我的示例中,前端和后端如何组合?我应该在前端所在的同一域上使用内部backend
还是保留它?是否建议像我一样拆分它?
我什至知道吗?这是后端的构建方式吗?还是只是一个简单的(公共)API?
答案 0 :(得分:3)
将后端保留在有角度的应用程序中不是一个好习惯。您之前做过的方法很好,将后端和前端分开保存。在这种情况下,您可以使用多种语言,并通过REST API将其与您的angular应用程序连接
关于将令牌保存在localStorage中。我认为还不错。但是,如果您对此仍然不满意。尝试将令牌保存在浏览器Cookie中。看看这个答案可能会有所帮助。 Is it safe to store a jwt in localStorage with reactjs?
答案 1 :(得分:1)
结合前端和后端的最佳方法是使用API。在您的后端中,您必须使用API(REST)创建所有操作。前端调用此api并获取结果并更新视图。这也是最好的方法,因为它将前端与后端分开,因此您可以更改前端的技术,并且工作方式相同。