سلام
شما یک لیست از claim درست کردید و اطلاعات یوزر را دادید بهش
حالا من هم یدونه دیگه اضافه کردم (new Claim(ClaimTypes.MobilePhone,"2222222222") ب طور مثال
اما وقتی گرفتیم چجوری هرجا خواستیم ب اون اطلاعات دسترسی داشته باشیم ؟
اگر من اشتباه متوجه شدم لطفا راه درست گرفتن اطلاعات کاربر هنگام لاگین و استفاده از اون اطلاعات در ایدنتیتی ب چ صورت است
با تشکر
سلام به وسیله تابع زیر شما میتونید کلایم موبایل رو استخراج کنید به همین صورت هر نوع کلایم دیگه ای که خواستید میتونید استخراج کنید حتی کلایم های کاستوم خودتون اما پیشنهاد میشه از کلایم های خود سیستم asp استفاده کنید و اگر از احرازهویت توکن بیس استفاده میکنید از کلایم های jwt استفاده کنید که در همه سیستم ها نام کلایمتون یکسان باشه
public static string GetPhoneNumber(this IIdentity identity)
{
return ((ClaimsIdentity)identity).FindFirstValue("PhoneNumber");
}ممنون دوست عزیز از پاسخگویی
پس باید یک اکستنش متد بسازیم برای هر آیتم ک میخواهیم از claim بگیریم و ازش استفاده کنیم
یک سوال دیگه این مورد توی نسخه identity 2 در mvc5 هم این چنین است یا متفاوته؟
بله همینطور هست منتهی سعی کنید توابع جنریک بسازید بدین صورت از کد نویسی زیاد پرهیز میکنید و کدتون هم خوانا تر میشه
به عنوان مثال برای آیدی ممکنه هم نوع guide هم نوع int باشه اما در کلایم استرینگ ذخیره میشه برای حل این موضوع مثلا یک تابع جنریک تبدیل مقادیر به هم بنویسید و درون اون کلایم رو دریافت کنید
User.GetId<int>();
مثلا اینطوری
من mvc رو خیلی کار نکردم اما تاجایی میدونم identity کور با mvc کاملا متفاوت هست اما بحث کلایم ها در تمام سیستم ها حتی زبان های دیگه یکسان هست
بابت پاسخ دیر هم عذر خواهم متوجه نشده بودم
ممنون دوست من