【发布时间】:2019-01-01 23:42:24
【问题描述】:
所以我创建了一个策略并在 AuthServicePRvider 中注册它,但它总是返回 false。这是我第一次使用政策,所以我确信我做错了,但以下几个例子对我没有任何帮助。
AuthServiceProvider
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
Article::class => ArticlePolicy::class,
];
ArticleController@show
public function show($article_id) I
{
$article = DB::table('pjt_article as a')
->join('pjt_categories_article as c', 'a.cate_id', '=', 'c.cate_id')
->where('article_id', $article_id)
->first();
$this->authorize('view', $article->username);
return view('admin.content.show-article', ['art' => $article]);
}
文章政策
public function view(Admin $admin, Article $article)
{
return $admin->id == $article->username;
}
我正在尝试 == 和 === 但不起作用
此图像错误 403
【问题讨论】:
-
您是否在
AuthServiceProvider中导入了Article和ArticlePolicy类? -
@Maraboc 他做了,看第一个代码块
-
@Quezler 我说导入我的意思是
use App\Article:p -
In ArticlePolicy
use App\Model\Admin; use App\Model\Article; -
如果我没记错的话会在页面呈现之前抛出异常:)