- پنجشنبه 21 آبان 1405 ساعت 21:35
- 5.6.29
- کامل شده
- منقضی شده
این داکیومنت از طرف توسعهدهنده ساپورت نمیشود، جدیدترین ورژن داکیومنت بزودی ترجمه خواهد شد.
Authorization تعیین میکند کاربر احراز هویتشده اجازه انجام چه عملیاتی را دارد. Laravel برای این کار Gate و Policy ارائه میکند تا قواعد دسترسی از منطق کنترلر جدا شوند.
نحوه کار و کاربرد
Gate برای مجوزهای ساده و Policy برای قواعد وابسته به یک مدل مناسب است. میتوان مجوز را با متد can() بررسی کرد، در کنترلر authorize() را فراخواند یا Middleware مربوط به can را روی Route قرار داد.
نمونه
Gate::define('edit-post', function ($user, $post) {
return $user->id === $post->user_id;
});
if (Gate::allows('edit-post', $post)) { /* مجاز است */ }
نکته
مخفیکردن دکمه در رابط کاربری کافی نیست؛ کنترل دسترسی باید در سمت سرور انجام شود.