如何在 Laravel 5.7 中创建一个简单的 auth guard?
How to create a simple auth guard in Laravel 5.7?
我正在尝试使用 Laravel 5.7 实现一个非常简单的身份验证机制,但我不确定要采用的最佳方法。
为了尽可能将我的问题简化为最简单的术语,假设我想保护某些路由,以便它们只能由来自特定 IP 地址的用户查看。如果来自不同 IP 地址的用户尝试访问受保护的路由,他们将被重定向到外部 URL.
基本上,我想这样做:
if ($_SERVER['REMOTE_ADDR'] != '123.45.67.89') {
return Redirect::away('https://external-url.example.com/login');
}
在 Laravel 中实现此功能的最简洁方法是什么?我已经阅读了很多解释如何创建自定义 Auth 提供程序的教程,但它们对于我正在做的事情来说似乎过于复杂。
我可以简单地创建一个实现上述代码的中间件 class 吗?我可以通过 Google 搜索哪些术语,以找到有助于我完成此操作的教程?
中间件
<?php
namespace App\Http\Middleware;
use Closure;
class VerifyIpAddress
{
/**
* Check request ip address and ..
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->ip() !== 123.123.123.123) {
// forbidden page or smth!
}
return $next($request);
}
}
我正在尝试使用 Laravel 5.7 实现一个非常简单的身份验证机制,但我不确定要采用的最佳方法。
为了尽可能将我的问题简化为最简单的术语,假设我想保护某些路由,以便它们只能由来自特定 IP 地址的用户查看。如果来自不同 IP 地址的用户尝试访问受保护的路由,他们将被重定向到外部 URL.
基本上,我想这样做:
if ($_SERVER['REMOTE_ADDR'] != '123.45.67.89') {
return Redirect::away('https://external-url.example.com/login');
}
在 Laravel 中实现此功能的最简洁方法是什么?我已经阅读了很多解释如何创建自定义 Auth 提供程序的教程,但它们对于我正在做的事情来说似乎过于复杂。
我可以简单地创建一个实现上述代码的中间件 class 吗?我可以通过 Google 搜索哪些术语,以找到有助于我完成此操作的教程?
中间件
<?php
namespace App\Http\Middleware;
use Closure;
class VerifyIpAddress
{
/**
* Check request ip address and ..
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->ip() !== 123.123.123.123) {
// forbidden page or smth!
}
return $next($request);
}
}