دسته بندی ها
01:55 1398/08/19

ایجاد جداول مختلف برای کاربران در Asp.net core

مشخصات سوال کننده :
کاربر : hamdola     امتیاز کاربر : 121     رتبه کاربر : 12
دسته بندی : Asp.net Core Asp.net Mvc

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3099
پاسخ دهنده : mghb 12:50 1398/08/19

جداول Identity برای ذخیره مشخصات فردی و رمز عبور و غیره می باشد و این موجودیت (استاد، کارمند، دانشجو و غیره) که شما در اینجا مطرح کردید نقش هستند و باید در جدول Role تعریف کنید در جداول AspnetUser مشخصات فردی هر موجود زنده انسانی یا به اصطلاح هر شغل و حرفه ای را می توانید ذخیره کنید، البته در صورتی که اطلاعات دیگری برای این افراد دارید می توانید جداول جداگانه برای آنها بسازید و یک کلید خارجی در آنها تعریف کنید برای مثال Id و در واقع این کلید به جدول کاربران متصل خواهد بود و مشخص میکند که اطلاعاتی که شما در جدول وارد میکنید مربوط به کدام کاربر است حالا نقش آن مهم نیست ، در مجموع برای اینکار شما باید طریقه استفاده و ارتباط جداول AspnetUser و AspnetRole و AspnetUserRole را باهم بدانید و همینطور برای کار با این جداول بهتر است از خصوصیت های async await در اکشن های کنترل خودتان استفاده کنید... برای احراز هویت هم از خصوصیت احراز هویت Authorize برای هر کنترل یا اکشن استفاده می شود که هر کاربر به صفحه ی مربوط به خودش دسترسی داشته باشد آن هم از طریق همین جداول Role ها که در بالا اشاره شد..

ویرایش شده در یکشنبه 19 آبان 1398 ساعت 13:05:10
به این پاسخ امتیاز بدهید    1
امتیاز: 27 رتبه: 26
پاسخ دهنده : mobile_app 02:20 1398/08/20

به طور کلی شما نیاز به چند جدول ندارید و بهترین پیاده سازی اینه که از Role ها برای تمایز قرار دادن بین هویت های مختلف در پروژه استفاده کنید. اگر مشخصاتی برای هویتهای مختلف باید در دیتابیس ذخیره بشه میتونید از Claims ها یا یک جدول Key/Value استفاده کنید یا خیلی ساده همه ی ستونهای همه ی هویتهارو درون جدول Users تعریف کنید و مشخصاتی که یک هویت خاص نداره Null باقی میمونه. اشکالی نداره که ستونهای یک جدول موارد زیادی نال داشته باشه.

به این پاسخ امتیاز بدهید    0
امتیاز: 18 رتبه: 40
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود