مهرداد
4 سال پیش توسط مهرداد مطرح شد
5 پاسخ

پنل کاربری

سلام دوستان ببخشید من یه سوال دارم کاربرانی که ادمین هستن توی سایت وقتی وارد پنل ادمین میشن یه بخش پروفایل داخل پنل ادمین دارن و کاربرانی هم user هستن مثل سایت راکت یه پروفایل کاربری براشون قرار داده شده برای اینکار که دوتا پنل داشته باشم یکی پروفایل ادمین توی داشبورد و یکی هم پروفایل کاربری توی سایت من باید دوتا جدول توی دیتابیسم داشته باشم ؟ کد زیر رو مثال میذارم ببینید باید دوتا جدول این مدلی داشته باشم یا یه دونه جدول کافیه؟

    public function up()
    {
        Schema::create('profile_admins', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->text('avatar');
            $table->string('education');
            $table->string('skills');
            $table->timestamps();
        });
    }
    public function up()
    {
        Schema::create('profile_users', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->text('avatar');
            $table->string('education');
            $table->string('skills');
            $table->timestamps();
        });
    }

ثبت پرسش جدید
میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 4 سال پیش آپدیت شد
-1

نه اصلا لازم نیست
ادمین هم یه نوع کاربره فقط یه فیلد isadmin =1 مثلا داره
پس اصلا نیاز به یه جدول دیگه نیست


سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 4 سال پیش مطرح شد
0

@mehrdadroshanraee69
همونطوری که دوستمون گفتن نیازی به دو جدول نیست . شما دوتا جدول کاملا یکسان دارید که فقط نوع کاربر داخلشون فرق میکنه . شما بیاید توی همون جدول یوزرتون فیلدی به نام is_admin یا مثلا level ایجاد کنید . اگر کاربر ادمین هست این فیلد is_admin مقدارش یک منطقی هست یا اگر از level استفاده کنید مقدارش admin هست . بعد راحت با استفاده از Gates & Policies و همچنین میدلور ها دسترسی هر کاربر رو به پروفایل نامربوطش کلا غیرفعال کنید .
باید همه موارد رو در نظر بگیرید چون طبیعتا حتی اگه دسترسی کاربر به پنل ادمین غیرممکن بود اما به روت مربوط به ادمین دسترسی پیدا کرد و متوجه شد که این روت مربوط به ادمین هست و دسترسی بهش محدود شده یجورایی از لحاظ امنیتی خوب نیستش. بنابراین بهتره مثلا اگر کاربر عادی روت ادمین رو فراخوانی کرد اروری بهش نشون بدین که حساسیت زا نباشه و اصلا متوجه نشه که این روت شاید 1% مربوط به ادمین هست . مثلا بجای ارور عدم دسترسی 404 رو نشون بدین .
موارد ریزی هست که قطعا خودتون متوجه خواهید شد اما سعی کردم با جزئیات کامل توضیح بدم .
موفق باشید.


مهرداد
@mehrdadroshanraee69 4 سال پیش مطرح شد
0

ببینید سوال من اینه برای اینکه ادمین های توی پنل مدیریت پروفایل کاربری مشخصی داشته باشن و هر کاربر هم توی سایت میاد عضو میشه پروفایل کاربری خاص خودشو داشته باشه باید دوتا جدول برای پروفایل ایجاد کنم یا یه جدول کفایت میکنه؟
اخه مثلا جدول پروفایل ادمین ممکنه فیلد هایی داشته باشه که جدول پروفایل مربوط به یوزر نیاز به اون فیلد ها نداره بله من توی جدول یوزر خودم فیلد level هم مشخص کردم و تعیین کردم دیفالت user هست
@SobhanDadkhah
@miladparsi1070


میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 4 سال پیش مطرح شد
0

@mehrdadroshanraee69
منظورتون رو از جدول پروفایل متوجه نمیشم
چه فیلدایی مثلا ادمینتون داره که یوزر نداره؟
شما برای پروفایل هم میتونید از همون جدول مربوط به یوزر ها استفاده کنید
اگه بلید پروفایل ادمین فرق میکنه، میتونید دوتا بلید یکی برای پروفایل کاربر یکیم برای ادمین ها داشته باشید
در هر صورت فکر میکنم نیاز به جدول اضافه نداشته باشید و هر اطلاعاتی که بخاید میتونید توی همون جدول یوزر ذخیره کنیدو نمایش بدین


رضا جلیلیان
تخصص : لطفا تخصص خود را وارد کنید
@rezajalilian 4 سال پیش مطرح شد
0

اگر واقعا این دوتا جدولی که میخوای ایجاد کنی فیلد هاشون تفاوت های زیادی با هم دارن اون وقت دوتا جدول جدا منطقی میشه ... به هرحال بازم به نحوه کارکردنت و چیزی که میخوای پیاده کنی بستگی داره ... جدول کم تر دیتابیس سبک تر و ایجاد تغییرات در اینده راحت
تره


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

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