【问题标题】:How do I restrict l5-swagger documentation to users based on roles and permissions?如何根据角色和权限将 l5-swagger 文档限制为用户?
【发布时间】:2022-10-23 17:40:05
【问题描述】:

我在 l5-swagger 配置中添加了中间件,并尝试打印出用户对象,但它返回 null。

是否可以使用 Laravel 内部定义的角色和权限来限制由 swagger 生成的特定或所有 API/文档?

编辑 这是中间件,这里没什么特别的。 IM 只是试图检查用户是否在这里存在并且它失败了。

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class ApiDocumentationAuthCheck
{
/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure(\Illuminate\Http\Request): 
(\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)  $next
 * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
 */
public function handle(Request $request, Closure $next)
{
        dd(Auth()->user());

        // if auth User allow access to API
        return $next($request);
        // else redirect to Login route with auto redirect back


}
}

在 l5-swagger 配置中,我设置了这样的中间件

            'middleware' => [
            'api' => ['ApiDocumentationAuthCheck'],
            'asset' => [],
            'docs' => [],
            'oauth2_callback' => [],
        ],

【问题讨论】:

  • 是的,它可能。但为了能够更好地帮助您,您需要对您编写的代码提供更完整的描述。
  • 我编辑了我的问题以包括中间件和 swagger 配置,我还能添加什么有帮助的?

标签: laravel swagger swagger-ui l5-swagger


【解决方案1】:

你有没有想过这个?

谢谢

【讨论】:

    猜你喜欢
    • 2017-08-17
    • 2021-04-24
    • 2018-05-07
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 2011-01-26
    • 2018-04-21
    相关资源
    最近更新 更多