ایجاد جداول مختلف برای کاربران در Asp.net core
ما در پروژه خودمون که با Asp.net core هست چند نوع کاربر داریم. کاربران ما شامل :
- استاد
- دانشجو
- اپراتور
- کارمندان
حالا یک سوال برای من پیش اومده در اینجا. هر کاربر در سیستم ما به یکسری Page ها دسترسی داره و صفحات مخصوص به خودش رو داره. اما من می خوام برای هر کاربر یک جدول جداگانه در نظر بگیرم و از امکانات Identity هم برای اون استفاده کنم. یعنی 4 تا جدول User میخوام و میخوام دستورات Identity برای هر 4 نوع از کاربر هم استفاده شود.
لطفا راهنمایی کنید که چجوری باید این کار رو انجام بدم. چون وقتی که جداول Identity رو ایجاد می کنیم فقط یک جدول به نام AspNetUsers رو ایجاد میکنه.
و لطفا بفرمایید که این کاری که من میکنم منطقی هست یا نه
ممنون
جداول Identity برای ذخیره مشخصات فردی و رمز عبور و غیره می باشد و این موجودیت (استاد، کارمند، دانشجو و غیره) که شما در اینجا مطرح کردید نقش هستند و باید در جدول Role تعریف کنید در جداول AspnetUser مشخصات فردی هر موجود زنده انسانی یا به اصطلاح هر شغل و حرفه ای را می توانید ذخیره کنید، البته در صورتی که اطلاعات دیگری برای این افراد دارید می توانید جداول جداگانه برای آنها بسازید و یک کلید خارجی در آنها تعریف کنید برای مثال Id و در واقع این کلید به جدول کاربران متصل خواهد بود و مشخص میکند که اطلاعاتی که شما در جدول وارد میکنید مربوط به کدام کاربر است حالا نقش آن مهم نیست ، در مجموع برای اینکار شما باید طریقه استفاده و ارتباط جداول AspnetUser و AspnetRole و AspnetUserRole را باهم بدانید و همینطور برای کار با این جداول بهتر است از خصوصیت های async await در اکشن های کنترل خودتان استفاده کنید... برای احراز هویت هم از خصوصیت احراز هویت Authorize برای هر کنترل یا اکشن استفاده می شود که هر کاربر به صفحه ی مربوط به خودش دسترسی داشته باشد آن هم از طریق همین جداول Role ها که در بالا اشاره شد..
به طور کلی شما نیاز به چند جدول ندارید و بهترین پیاده سازی اینه که از Role ها برای تمایز قرار دادن بین هویت های مختلف در پروژه استفاده کنید. اگر مشخصاتی برای هویتهای مختلف باید در دیتابیس ذخیره بشه میتونید از Claims ها یا یک جدول Key/Value استفاده کنید یا خیلی ساده همه ی ستونهای همه ی هویتهارو درون جدول Users تعریف کنید و مشخصاتی که یک هویت خاص نداره Null باقی میمونه. اشکالی نداره که ستونهای یک جدول موارد زیادی نال داشته باشه.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2