یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهاسلام دوستان
چطور میتونم در middleware دسترسی ویرایش و حذف مطالبی که کاربرا گذاشتن را مدیریت کنم و بگم که هر کاربر فقط به مطالبی که خودش گذاشته دسترسی ادیت و حذف داشته باشه ؟
توی شاخه app/http/Middleware یه کلاس User ساختم با کد زیر که از دیتابیس چک میکنه اگر ستون role مقدارش 1 هست یعنی دسترسی کاربر هست و بهش دسترسی دیدن صفحاتی که در route معرفی کردم را میده
class User
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (auth::check()) {
if (auth::user()->role == 1) {
return $next($request);
}
}
return redirect('/dashboard');
}
}
اینم نحوه استفاده کدم در web.php
Route::get('/user_domains', 'users_domainController@index')->middleware('auth', 'User');
حالا چطور میتونم برای middleware تعریف کنم که هر کاربر فقط به همون مطالبی که گذاشته دسترسی حذف و ادیت داشته باشه و نتونه با inspect از فرم id مطلب را تغییر بده و مال کاربر دیگه ای را دستکاری کنه
ممنون
@juza66 سلام
میدونم اینو ::D
مشکل اینجاست که نمیدونم کدی که توی کلاس User برای چک کردن دسترسی کاربر به id مطلب خودش هست چیه
البته منظورم با لاراول هست که استاندارد باشه
وگرنه به صورت عادی میتونم بنویسم ولی میخوام بر اساس قواعد لاراول باشه
با user_id چک کن اگر user_id مطلب مورد نظر برابر با id کاربر بود دسترسی موردنظرت رو فعال کن
برای این کار میتونی خیلی راحت از Policy ها و Authorization استفاده کنی..
هر چند که با میدلور هم میتونی کار کنی
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟