《使用ThinkPHP6开发项目》 - ThinkPHP6使用使用中间件验证登录Token
在ThinkPHP6中使用中间件来验证登录Token的基本步骤如下:
- 创建中间件类文件:在
application/middleware
目录下创建CheckToken.php
文件。 - 编写中间件逻辑:实现中间件的
handle
方法来验证Token。 - 注册中间件:在应用的全局中间件配置文件中注册刚创建的中间件。
- 应用中间件:在控制器或者路由中应用中间件。
以下是示例代码:
CheckToken.php
// application/middleware/CheckToken.php
namespace app\middleware;
class CheckToken
{
public function handle($request, \Closure $next)
{
// 获取Token
$token = $request->header('token');
// 验证Token的逻辑(示例:简单的字符串比对)
if ($token !== 'your_token_string') {
return json(['code' => 401, 'msg' => 'Token is invalid or not provided']);
}
// 如果Token有效,继续请求处理
return $next($request);
}
}
注册中间件
在application/middleware.php
配置文件中注册刚创建的中间件:
// application/middleware.php
return [
// 其他中间件
'check_token' => \app\middleware\CheckToken::class,
];
应用中间件
在控制器或路由中应用中间件:
// 全局中间件应用(会影响所有路由)
// 在application/route/middleware.php中配置
return [
'check_token', // 应用刚注册的中间件
];
// 单独路由应用中间件
Route::get('protected', 'Index/protected')->middleware('check_token');
// 或者在控制器方法中应用
public function protected()
{
return 'Protected content';
}
以上代码提供了一个简单的Token验证示例。在实际应用中,Token验证会涉及到更复杂的逻辑,例如从Token中解析用户信息、查询数据库验证Token的有效性等。
评论已关闭