- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Laravel 5.4 中通过 JQuery 使用 TokenGuard 处理所有与数据库相关的请求
用户登录后...我将使用以下方法获取用户个人资料。
public function ViewProfile() {
$user = \Auth::guard("api")->user();
$Data = [
"FirstName" => $user->FirstName,
"LastName" => $user->LastName
];
return \Response::json([
'Status' => true,
'Data' => $Data,
], 200);
}
下面是发送到服务器以使用上述方法获取数据的 POST 方法 Url
http://localhost:1234/public/api/v1/apiviewprofile?api_token=598bbba095bdd1598bbba095bf1
当我打印在获取用户详细信息时发出的 select 语句时...我看到下面有两个 select 语句。
[2017-08-10 02:37:05] local.INFO: select * from `tbluser` where `UserID` = ? limit 1
[2017-08-10 02:37:05] local.INFO: select * from `tbluser` where `api_token` = ? limit 1
问题
我可以理解,当我使用 TokenGuard 发送 POST 请求时...它首先验证 token ...以便此时它进入数据库。所以第二个 select 语句就可以了。但是,Laravel 5.4 在哪里使用第一个 select 语句?
最佳答案
第二条语句确实在您对从 Auth::guard()
返回的守卫调用 ->user()
之后运行,在守卫包含的 UserProvider 内。实现。
您提供的代码不太可能触发第一条语句。我怀疑这与您使用 ViewProfile()
操作在路由上使用的某些中间件有关。
也许在您成功验证用户身份之后,甚至在重定向到该路由之前就执行了查询? (第一个查询正是用户身份验证查询)。
重定向可以在不到一秒的时间内完成,并且由于日志以 1 秒的精度显示时间,因此无法判断两者之间到底有多少时间。除非您确定根本没有发生重定向,否则很难判断这两个查询是否在同一个 Laravel 容器生命周期内执行。
关于laravel-5 - TokenGuard 中的一个不必要的 select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45603585/
jQuery attributeContainsPrefix [name^="value"] 对比 attributeStartsWith [name|="value"] 实际区别是什么? 最佳答案
在1.1部分在RFC 6749中,有四种角色:资源拥有者、资源服务器、客户端和授权服务器。 如果客户端和资源所有者是同一实体,OAuth 是否变得多余或不必要? 例如,我有一个封闭的 API 和一个面
我有一段代码,其中有一个带有保护子句的 raise 语句: def validate_index index # Change to SizeError raise ArgumentError
我看到了这篇文章( JPA Entity Lifecycle Events vs database trigger ),但它并没有像我在这里那样明确地询问: 当我插入 PK 值为 (null) 的行时
所以,我有一段代码看起来像 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){ // Do something }
我是一名优秀的程序员,十分优秀!