راکت

سطوح دسترسی در لاراول

4 پاسخ

سلام دوستان
من یه سیستم سطح دسترسی دارم تو لاراول یه مشکل داره و اون هم اینکه که کاربر مدیر میتونه کاربر سوپر یوزر یا ادمین اصلی رو ویرایش یا حذف کنه
من میخوام هر کاربر بتونه خودش و کاربرای سطح پایین خودشو ویرایش حتی حتی نتونه مدیر هم سطح خودشو ویرایش کنه شرطشو باید چطوری بذارم؟

ثبت پرسش جدید

پاسخ‌ها

4
رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

درود خوبی...
من از 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

مهدی حاجی محمدی
مهدی حاجی محمدی
@mahdihmo

تخصص: برنامه نویس

سلام ممنون از اشتراک
یک سوالی که داشتم چجوری باید توی دیتابیس به یک کاربر نقش ادمین بدم
ممنون

شاید پاسخ شما همین‌جا باشد

مهدی حاجی محمدی
مهدی حاجی محمدی
@mahdihmo

تخصص: برنامه نویس

سلام ممنون از اشتراک فایلتون
یک سوالی که داشتم چجوری باید توی دیتابیس پروژه ای که لینکشو گذاشتید به یک کاربر نقش ادمین بدم
ممنون
@Raymond

رایموند
رایموند
@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

سورس پروژه بخون یا متوجه این موضوع شوید.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام