1

如何创建策略/门来限制用户访问 Nova 工具(例如 Spatie Nova 备份工具)?

4

2 回答 2

3

以“Nova 方式”执行此操作将使用canSee()- 方法。你可以在这里阅读。

public function tools()
{
    return [
        YourToolThatMightBeHidden::make()
            ->canSee(function ($request) {
                return $request->user()->can('access-this-tool');
            }),
    ];
}
于 2018-11-30T13:57:34.180 回答
1

我有同样的问题,我像这样解决了它。

  1. NovaServiceProvider
  2. tools()在方法中添加门/检查

    public function tools()
    
    {
    
        if (Auth::user()->hasAnyRole(['admin'])) {
            return [new Foo, new Bar];
        }
    
        return [];
    }
    

这将解决问题,但我不确定这是否是Nova这样做的方式。

于 2018-11-16T06:22:39.657 回答