بالنسبة للـ ACL أو ما يعرف بـ Access Control List
هناك آلاف الطرق التي يمكن أن تستخدم…
طبقا لموقع laravel قمت بعمل Authorization system ونجحت في تخصيص وتقسيم صلاحيات المستخدمين كالتالي:
public function boot()
{
$this->registerPolicies();
Gate::define('isAdmin', function ($user) {
return $user->type === 'admin';
});
Gate::define('isAuthor', function ($user) {
return $user->type === 'author';
});
Gate::define('isUser', function ($user) {
return $user->type === 'user';
});
Passport::routes();
}
}
حاليا سجلت الدخول بمستخدم عادي user
الآن أحاول في الVuejs أن اقوم بسيناريو شبيه مثل ذلك (عمل class) كالتالي:
export default class Gate {
constructor(user){
this.user = user;
}
isAdmin(){
return this.user.type === 'admin';
}
isUser(){
return this.user.type === 'user';
}
}
لكن المشكلة لا أستطيع جلب قيمة user (المستخدم الحالي) علما بأنه لا يتم ارسال GET requests حيث قمت باعطاء الصلاحيات وسيتعارض ذلك مع الغرض المطلوب