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

جدا کردن ادمین ها از یوزر ها

سلام خسته نباشید
من از جدول users به عنوان ادمین های سایت استفاده کردم
حالا میخوام یه جدول customers داشته باشم که مشتری ها باشه
با توجه به اینکه برای جدول users احراز هویت به صورت کامل وجود داره در لاراول بهتره این سیستم رو عوض کنم و برای ادمین ها یه جدول جدا بسازم یا همین روش فعلی راحت پیاده سازی میشه؟
میخوام اگر کسی از جدول users وارد شد وارد پنل ادمین بشه و اگر کسی از جدول customers وارد شد دسترسی به پنل ادمین نداشته باشه و فقط صفحه اصلی سایت که محصولات داخلش هست نشون داده بشه
راهنمایی میکنید
ممنون


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

سلام از همین روش استفاده کنید و ادامه بدید اضافه کردن جدول پیچیدگی‌های auth رو به بار میاره و شما مجبور به پیاده سازی multi auth خواهید بود. اما با خود جدول user خیلی ساده میتونید اجازه دسترسی به جاهای مختلف رو چک کنید


parhamft
تخصص : برنامه نویس لاراول
@parham.ftehrani 4 سال پیش مطرح شد
0

@hesammousavi یعنی برای ادمین ها جدول جدا بسازم یا برای مشتری ها؟


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0

کلا شما یک جدول users داری و همه اطلاعات رو تویی این جدول نگه میداری ، براش یک فیلد level در نظر میگیری و سطح دسترسی رو برای دوتا مشخص میکنی مثلا customerو admin

حالا موقع لاگین شما کافیه تویی کنترلر لاگین چک کنین این کار ادمینه یا خیر و اونا رو به صفحات خودشون ریداریکت کنی

بعدش دوتا route group با میدلور های میسازی و قبل از وارد شدن به اون مسیرها سطح دسترسی شون رو چک میکنی

خیلی خلاصه تویی blade یا کنترلر هم میتونی سریع چک کنی level شون رو

auth()->users()->level == 'admin'

توی حالت پیشرفته تر اگر اطلاعات ادمین یا خریدار زیاد بودن جدول دیگه ی براشون در نظر میگیری و با فیلد userid سایر اطلاعات دیگه رو توی جداول دیگه میریزی


Mohammad Amin Mokhtari
تخصص : برنامه نویس
@amin.mokhtari94 4 سال پیش مطرح شد
0

سلام
علاوه بر توضیحاتی که دوستان گفتند شما میتونید از رابطه چند به چند، نقش و کاربر استفاده کنید، اینطوری میتونید قابلیت تعریف نقش های مختلف هم به برنامتون اضافه کنید.
برای این کار علاوه بر جدول users باید جدول های roles و role_user رو نیز ایجاد کنید، در این مقاله بصورت کامل توضیح داده شده.


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

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