我只使用 Laravel 的Request
方法POST
。在文档中,所有示例都使用POST
方法,但该类确实提供了一种方法来检查使用了哪个 HTTP 动词。
如果需要验证查询、路径或授权用户,是否建议使用Request
方法?GET
如果我要使用GET
方法请求(特别是授权用户),那么使用auth
中间件有什么意义?
我只使用 Laravel 的Request
方法POST
。在文档中,所有示例都使用POST
方法,但该类确实提供了一种方法来检查使用了哪个 HTTP 动词。
如果需要验证查询、路径或授权用户,是否建议使用Request
方法?GET
如果我要使用GET
方法请求(特别是授权用户),那么使用auth
中间件有什么意义?
我相信您将两种不同的术语混合在一起。
首先,你不能使用 GET 方法来授权任何人。这完全是违法的......(除非你真的想篡改用户的隐私等)
其次,使用 POST 和 GET 方法只是您的决定。出于对用户进行身份验证或支付等目的,您必须发出 POST 请求,但对于搜索、分页或通过令牌验证等目的...必须首选 GET 方法。
使用 Laravel 的 Route 方法,您可以向函数传递任意数量的参数,而根本不使用 GET 方法。
简单地说,使用其中任何一个都是您的选择。
最后,Auth Middleware 用于检查访问该页面的用户是否有活动的会话。如果您登录某人,您将调用 Laravel 的auth()->login()
方法,该方法为该特定用户创建一个会话,因此auth()->user()
只要他/她登录,您就可以获取该用户在任何其他视图/方法上的信息。如果您愿意,您可以制作自己的中间件并从 GET 请求中检查用户的电子邮件和密码是否有效,您可以做到这一点。但是话又说回来,就像我说的那样,这不应该发生……我们不要把事情搞混了。
我希望我已经明确了您的概念并正确回答了您的问题。由于您没有真正使用示例进行解释,因此我觉得这就是您真正感到困惑的地方。如果您还有任何疑问,请发表评论。:)
如果您想在 GET 请求中检查权限,您可以在路由中使用中间件。
您可以根据需要创建许多中间件
例子:
Route::get('admin/profile', function () { // })->middleware('auth');