سلام دوستان
من یه سیستم سطح دسترسی دارم تو لاراول یه مشکل داره و اون هم اینکه که کاربر مدیر میتونه کاربر سوپر یوزر یا ادمین اصلی رو ویرایش یا حذف کنه
من میخوام هر کاربر بتونه خودش و کاربرای سطح پایین خودشو ویرایش حتی حتی نتونه مدیر هم سطح خودشو ویرایش کنه شرطشو باید چطوری بذارم؟
درود خوبی...
من از Permission spatie استفاده می کنم که دسترسی ها به این صورت تعریف کردم.
هر مدیری می تونه برای کاربر عادی دسترسی پایین تری بدهد که به این صورت هست.
class Permission extends PermissionSpatie
{
PUBLIC CONST PERMISSION_SUPER_ADMIN = 'permission super admin';
PUBLIC CONST PERMISSION_ADMIN = 'permission admin';
PUBLIC CONST PERMISSION_USERS = 'permission users';
PUBLIC CONST PERMISSION_CATEGORIES = 'permission categories';
PUBLIC CONST PERMISSION_ROLES = 'permission roles';
PUBLIC CONST PERMISSION_POSTS = 'permission posts';
PUBLIC CONST PERMISSION_AUTHORS = 'permission authors';
PUBLIC CONST PERMISSION_COMMENTS = 'permission comments';
public static array $permissions = [
self::PERMISSION_SUPER_ADMIN,
self::PERMISSION_ADMIN,
self::PERMISSION_USERS,
self::PERMISSION_CATEGORIES,
self::PERMISSION_ROLES,
self::PERMISSION_POSTS,
self::PERMISSION_AUTHORS,
self::PERMISSION_COMMENTS
];
}
super admin حکم مدیر کل داره که به همه دسترسی داره و admin همین مدیر سطح پایین هست .
می توانید پروژه که نوشتم رو بخونید.
ستاره یادت نره..
https://github.com/Rayiumir/News
https://github.com/Rayiumir/News/tree/main/modules/Rayium/Role
سلام ممنون از اشتراک
یک سوالی که داشتم چجوری باید توی دیتابیس به یک کاربر نقش ادمین بدم
ممنون
سلام ممنون از اشتراک فایلتون
یک سوالی که داشتم چجوری باید توی دیتابیس پروژه ای که لینکشو گذاشتید به یک کاربر نقش ادمین بدم
ممنون
@Raymond
@mahdihmo
بخوای برای کاربر نقش تعریف کنید باید دکمه افزودن نقش رو تعریف کنید.
به این صورت :
@foreach($row->roles as $rows)
<li>
<span class="badge bg-secondary">{{$rows->name}}</span>
<span class="badge bg-danger" onclick="event.preventDefault();document.getElementById('trash-{{$rows->id}}').submit()" title="حذف"><i class="fa-duotone fa-minus-circle"></i></span>
</li>
<form id="trash-{{$rows->id}}" action="{{ route('users.remove.roles', ['userId' => $row->id, 'roleId' => $rows->id]) }}" method="POST">@csrf @method('DELETE')</form>
@endforeach
سورس پروژه بخون یا متوجه این موضوع شوید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟