0

我只使用 Laravel 的Request方法POST。在文档中,所有示例都使用POST方法,但该类确实提供了一种方法来检查使用了哪个 HTTP 动词。

如果需要验证查询、路径或授权用户,是否建议使用Request方法?GET如果我要使用GET方法请求(特别是授权用户),那么使用auth中间件有什么意义?

4

2 回答 2

1

我相信您将两种不同的术语混合在一起。

首先,你不能使用 GET 方法来授权任何人。这完全是违法的......(除非你真的想篡改用户的隐私等)

其次,使用 POST 和 GET 方法只是您的决定。出于对用户进行身份验证或支付等目的,您必须发出 POST 请求,但对于搜索、分页或通过令牌验证等目的...必须首选 GET 方法。

使用 Laravel 的 Route 方法,您可以向函数传递任意数量的参数,而根本不使用 GET 方法。

简单地说,使用其中任何一个都是您的选择。

最后,Auth Middleware 用于检查访问该页面的用户是否有活动的会话。如果您登录某人,您将调用 Laravel 的auth()->login()方法,该方法为该特定用户创建一个会话,因此auth()->user()只要他/她登录,您就可以获取该用户在任何其他视图/方法上的信息。如果您愿意,您可以制作自己的中间件并从 GET 请求中检查用户的电子邮件和密码是否有效,您可以做到这一点。但是话又说回来,就像我说的那样,这不应该发生……我们不要把事情搞混了。

我希望我已经明确了您的概念并正确回答了您的问题。由于您没有真正使用示例进行解释,因此我觉得这就是您真正感到困惑的地方。如果您还有任何疑问,请发表评论。:)

于 2016-09-10T06:29:49.963 回答
0

如果您想在 GET 请求中检查权限,您可以在路由中使用中间件。

您可以根据需要创建许多中间件

例子:

Route::get('admin/profile', function () { // })->middleware('auth');

于 2016-09-10T05:12:23.340 回答