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)
}