【问题标题】:Angular - CakePHP integrationAngular - CakePHP 集成
【发布时间】:2015-09-25 03:28:07
【问题描述】:

好的 - 首先让我说这将作为一个传统的问题出现。我是一位经验丰富的 CakePHP 开发人员,也是 Angular 的新手。

我有一个用 CakePHP v3 编写的支持 REST 的后端。我现在希望创建一个由 Angular 支持的前端。 Web 应用程序在后端有大约 25 个控制器,大约 50 个表 - 所以它是一个相当复杂的应用程序。

问题

  1. 我了解 Angular 并没有真正维护页面或请求之间的状态。对于一个真正“RESTful”的后端应用程序,它也不应该依赖于状态,而是验证每个请求/动作——我该怎么做?一旦用户登录 - 我如何创建一个令牌,然后为每个请求调用在 Angular 和 CakePHP 之间交换?

  2. 当用户在前端的不同页面之间移动时,我如何在 Angular 中跟踪相同的页面并维护身份验证访问?

再说一遍——如果这些问题看起来像老生常谈,但将 Angular 与 CakePHP 集成的示例和文档确实很少。我希望我最终可以围绕这些建立一些知识库。

【问题讨论】:

  • 你能给我一个 google drive 上的 angular 和 cakephp 代码吗

标签: angularjs cakephp cakephp-3.0


【解决方案1】:

实际上,可以在不遵循单页方法的应用程序上使用 Angular。您可以直接在每个页面的 HTML 中使用指令和控制器。

在这种情况下,身份验证不是问题,因为服务器根据会话知道你是谁,它应该存在。这实际上是我们在一个可能在不久的将来成为 SPA 的遗留应用程序中所做的。

如果您需要在请求之间进行身份验证,我建议您使用 JWT 令牌。甚至还有一个用于为 JWT 实现正确身份验证适配器的 CakePHP 插件:https://github.com/ADmad/cakephp-jwt-auth 我什至写过一篇关于该主题的文章:http://florian-kraemer.net/2014/07/cakephp-and-token-based-auth-with-angular-js/

【讨论】:

  • 能告诉我使用 AngularJS 和 CakePHP 有什么好处吗?
【解决方案2】:

我不熟悉蛋糕,但您似乎没有考虑到 Angular 构建应用程序的方法。 Angular 需要一个单页应用程序。只有一个页面。因此,当您说“页面或请求”时,您实际上是指两个不同的东西。 Angular 将发出许多请求以生成单个“页面”。从用户的角度来看,它可能看起来像很多页面,但 Angular 通常依赖于单个 index.html 文件。

至于身份验证,我不确定 Cake 期待什么,但通常情况下,您只需将身份验证令牌作为 cookie 或在您的 http 标头中发送(取决于您使用的身份验证类型)。 Angular 将在页面打开的整个过程中保持其状态,并且通常会适当地存储身份验证令牌。

【讨论】:

  • 让我举个例子 - 在使用 Cake 构建应用程序的传统方式中,我有基于某些用例的控制器。例如,我有一个 CarController,然后是 DealerController,然后是 CustomerController。因此,如果我要添加、编辑、删除、查看汽车,那么我将有 4 个不同的页面用于每个页面,并且所有页面都将由 CarController 管理。对于客户、经销商等也是如此。我知道所有 4 个操作(添加、编辑、删除、查看)都将是 Angular 中的一个页面,但如果我想从 Car 移动到 Customer,我在技术上需要移动到另一个页面?
猜你喜欢
  • 1970-01-01
  • 2011-10-09
  • 2012-09-24
  • 2018-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-29
  • 2016-03-19
相关资源
最近更新 更多