در ساختار درونی سیستم ASP.NET Core Identity، در عمل چیزی به نام Role وجود خارجی ندارد. این Roleهای ظاهری فقط برای سازگاری با سیستمهای membership خیلی قدیمی وجود دارند. تمام سیستم Identity بر اساس User Claims کار میکند. تمام Roleها و غیره در پشت صحنه ابتدا تبدیل به user claims میشوند و سپس استفاده خواهند شد. اطلاعات بیشتر: «ASP.NET Core Identity چگونه اطلاعات جدول AppUserClaims را پردازش میکند؟»
نظرات مطالب
نرمال سازی اطلاعات کاربران در حین ثبت نام
نکتهای در مورد طراحی دیتابیس ASP.NET Core Identity
به جدول کاربران نگارش سوم ASP.NET Identity، دو فیلد NormalizedEmail و NormalizedUserName هم اضافه شدهاند:
علت وجود این فیلدهای اضافی سه مورد است:
- الف) کاربران پس از ویرایش ایمیلهای خود، متوجه نرمالسازی نشوند. چون اصل ایمیل در فیلد Email ذخیره میشود.
- ب) با نرمال سازی بتوان جلوی مشکلات مطرح شدهی در مطلب جاری را گرفت و از ثبت چندین ایمیل یکسان و یا نام کاربری یکسان جلوگیری کرد.
- ج) برنامه نویس دیگر نیازی ندارد تا توابع نرمالسازی را همواره به صورت دستی، در حین ویرایش اطلاعات کاربران اعمال کند. اکنون این نرمالسازی به صورت خودکار از سرویس ILookupNormalizer دریافت و اعمال میشود.
به جدول کاربران نگارش سوم ASP.NET Identity، دو فیلد NormalizedEmail و NormalizedUserName هم اضافه شدهاند:
که الگوریتم پیش فرض نرمال سازی آنها که فقط to upper case است، قابلیت سفارشی سازی هم دارد (برای مثال جهت اعمال نکات مطلب فوق).
علت وجود این فیلدهای اضافی سه مورد است:
- الف) کاربران پس از ویرایش ایمیلهای خود، متوجه نرمالسازی نشوند. چون اصل ایمیل در فیلد Email ذخیره میشود.
- ب) با نرمال سازی بتوان جلوی مشکلات مطرح شدهی در مطلب جاری را گرفت و از ثبت چندین ایمیل یکسان و یا نام کاربری یکسان جلوگیری کرد.
- ج) برنامه نویس دیگر نیازی ندارد تا توابع نرمالسازی را همواره به صورت دستی، در حین ویرایش اطلاعات کاربران اعمال کند. اکنون این نرمالسازی به صورت خودکار از سرویس ILookupNormalizer دریافت و اعمال میشود.
مطلب و نظرات «سفارشی سازی ASP.NET Core Identity - قسمت ششم - فارسی سازی پیامها» را مطالعه کنید.
مطلب «سفارشی سازی ASP.NET Core Identity - قسمت سوم - نرمال سازها و اعتبارسنجها» و نظرات آنرا مطالعه کنید.
مراجعه کنید به قسمت «مدیریت اندازهی حجم کوکیهای ASP.NET Core Identity» انتهای بحث.
این مورد در مطلب «اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity» و خصوصا نظرات آن بحث شدهاند. به علاوه امکان ادغام این دو با هم وجود دارد.
اصول پایه آنرا در مطلب «اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity» پیگیری کنید.
چطور میتوانیم با استفاده از ASP.NET Core Identity در موبایل لاگین کنیم. یعنی بخوایم برنامه نویسی اندروید انجام بدیم و با استفاده از Api لاگین کنیم و یک سری کارهایی انجام بدیم
پروژهی DNTIdentity که دقیقا سفارشی سازی کامل ASP.NET Core Identity هست، به نگارش 2 ارتقاء داده شدهاست. همچنین عمدهی توضیحات آن هنوز هم برقرار هستند.