Auth 中间件

未匹配的标注

在设置过程中,auth 包会在 ./app/Middleware 目录中创建以下两个中间件。你可以使用这些中间件来保护路由免受未经身份验证的请求。

认证中间件

auth 中间件存储在 app/Middleware/Auth.ts 文件中。你必须将其注册为 start/kernel.ts 文件中的命名中间件。

// 文件名: start/kernel.ts
Server.middleware.registerNamed({
  auth: () => import('App/Middleware/Auth')
})

注册后,你可以将 auth 中间件附加到应用程序路由。例如:

Route.group(() => {

}).middleware('auth')

auth 中间件可选地接受用于验证当前请求的 guard。它将遍历所有定义的 guard 并在任何 guard 能够验证请求时停止。

Route.group(() => {

}).middleware('auth:web,api')

静默身份验证中间件

静默身份验证中间件静默检查用户是否已登录。即使用户未登录,请求仍照常继续。

当您想要呈现公共网页时,此中间件很有用,但也可以在页面的某处(可能是标题)显示当前登录的用户详细信息。

总而言之,这个中间件不会强制用户登录,但会在用户登录后获取他们的详细信息,并在整个请求生命周期中提供。

如果你打算使用此中间件,则必须将其注册到全局中间件列表中。

// 文件名: start/kernel.ts
Server.middleware.register([
  () => import('@ioc:Adonis/Core/BodyParser'),
  () => import('App/Middleware/SilentAuth')
])

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/adonisjs/5.x/au...

译文地址:https://learnku.com/docs/adonisjs/5.x/au...

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~