0

我一直在按照 Aaron Kuzemchak 的使用 Laravel 进行简单 API 开发来创建 API 和使用者。在我成功通过我的消费者的 API 进行身份验证后,我遇到了问题;我不知道如何检查它,如果消费者已经成功登录或没有在其他页面......

例如,一开始;我显示登录页面,单击提交按钮以通过 API 检查凭据。登录尝试正在工作,成功登录并重定向到仪表板。但是,如果我没有登录并从 URL 访问仪表板,我得到了仪表板:O

API server和consumer已经分开机器,数据库只存在于API server上。

  • 我做对了吗(使用 API 和消费者的流程)?
  • 在消费者处,我如何知道用户是否已经登录(在成功尝试凭据后)?(不知何故?某个想法?)

之前谢谢你... :)

4

2 回答 2

0

这个问题非常令人困惑,可能是因为我还没有看过那个截屏视频,但应该不是Auth::check()你要找的吗?它将根据用户是否登录返回 true 或 false。

于 2013-07-26T12:03:37.433 回答
0

只想确认一下:

  • 您有一个从此处发布的教程构建的后端 API:http: //kuzemchak.net/blog/entry/laracon-slides-and-video
  • 您正在使用上述教程中所述的 HTTP 基本身份验证
  • 您正在为单独服务器上的用户构建(消费者)前端 Web 界面
  • 您的消费者界面使用基于表单的身份验证(登录表单)

后端 API 使用 HTTP 基本身份验证(消费者在每个请求中为用户发送一个 API 密钥)。因此,后端不会跟踪正在登录的用户。这意味着您的消费者界面将需要这样做。

您可以正常使用 Laravel Auth 类,但您的前端通常可以访问数据库,并且捆绑的身份验证驱动程序可以只检查用户名/密码。

我会说你的选择是:

  • 使用 Session 类在会话中存储用户的详细信息(感觉有点讨厌但简单)
  • 编写一个身份验证驱动程序,然后使用 Auth 类(高级但更简洁:http ://www.karlvalentin.de/1903/write-your-own-auth-driver-for-laravel-4.html )
  • 只需使用现有的 Auth 类和 Eloquent 直接与数据库对话
于 2013-07-26T12:18:38.433 回答