Php 如何为作者用户显示后期编辑页面?

Php 如何为作者用户显示后期编辑页面?,php,laravel,Php,Laravel,我只想让文章的作者访问编辑页面 后置控制器: public function edit(Vocabulary $vocabulary) { if ($vocabulary->user_id != Auth::id()) { return redirect() ->route('home') ->with('danger', 'You cannot edit another user's vocabulary

我只想让文章的作者访问编辑页面

后置控制器

public function edit(Vocabulary $vocabulary)
{
    if ($vocabulary->user_id != Auth::id()) {
        return redirect()
            ->route('home')
            ->with('danger', 'You cannot edit another user's vocabulary.');
    }

    // return view...
}

因此,我的问题是如何压缩这部分代码。我能用更少的代码行吗(因为我必须用很多方法编写这样的代码块)


在编辑页面中使用中间件并将其添加到路由中,如果身份验证用户是作者,则传递它,否则显示错误

public function checkAuthor($Request , closure $next)
{
  If( CONDITION FOR CHECKING AUTHOR) {
        return response(error message)
    }
    return $next($Request)
}

我想这会有帮助

我强烈建议使用Laravel策略类来处理它。您只需为希望访问的每个模型创建一个策略类。因此,在策略类中,您可以为每个操作实现不同的算法,例如更新删除等。 您可以在以下链接中找到更多信息:


签出策略是的,我尝试了所有操作,但出现错误
此操作未经授权。
。。所以,我现在不知道该怎么做了。好吧,它会抛出403异常。你可以在视图/错误目录中创建一个名为403.blade.phpIn的视图文件。你可以为所有未经授权的操作显示适当的消息。你“猜”它会有帮助吗?
public function checkAuthor($Request , closure $next)
{
  If( CONDITION FOR CHECKING AUTHOR) {
        return response(error message)
    }
    return $next($Request)
}