ব্যবহারকারীরা আমার ওয়েবসাইটে লগ ইন করতে আমি এমভিসি 5 আইডেন্টিটি 2.0 ব্যবহার করছি, যেখানে প্রমাণীকরণের বিশদটি এসকিউএল ডাটাবেসে সংরক্ষিত থাকে। অনেক অনলাইন টিউটোরিয়ালে যেমন পাওয়া যায় তেমনি Asp.net পরিচয়টি একটি স্ট্যান্ডার্ড উপায়ে প্রয়োগ করা হয়েছে।
আইডেন্টিটি মডেলগুলিতে অ্যাপ্লিকেশন ব্যবহারকারী শ্রেণিটি কিছু কাস্টম বৈশিষ্ট্য, যেমন একটি পূর্ণসংখ্যা সংস্থাআইডি অন্তর্ভুক্ত করার জন্য বাড়ানো হয়েছে। ধারণাটি হ'ল অনেক ব্যবহারকারীকে তৈরি করা যায় এবং একটি সাধারণ সংস্থায় ডাটাবেস সম্পর্কের উদ্দেশ্যে নির্ধারিত করা যায়।
public class ApplicationUser : IdentityUser
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
//Extended Properties
public DateTime? BirthDate { get; set; }
public long? OrganizationId { get; set; }
//Key Mappings
[ForeignKey("OrganizationId")]
public virtual Organization Organization { get; set; }
}
আমি কিভাবে একজন নিয়ামকের মধ্যে থেকে বর্তমানে লগ ইন করা ব্যবহারকারীর অর্গানাইজেশন আইডি সম্পত্তি পুনরুদ্ধার করতে পারি? কোনও ব্যবহারকারী একবার লগইন হয়ে গেলে বা ইউজারআইডি-র ভিত্তিতে প্রতিবারই একটি নিয়ামক পদ্ধতি কার্যকর করে, তখন কি আমার কাছে ডেটাবেস থেকে অর্গানাইজেশন আইডি পুনরুদ্ধার করা যায়?
ওয়েবে চারপাশে পড়া দেখেছি ইউজারআইডি ইত্যাদি লগ ইন করার জন্য আমার নিম্নলিখিতগুলি ব্যবহার করতে হবে need
using Microsoft.AspNet.Identity;
...
User.Identity.GetUserId();
যাইহোক, OrganisId কোনও ব্যবহারকারীর আইডেন্টিটিতে উপলব্ধ সম্পত্তি নয়। OrganisId সম্পত্তি অন্তর্ভুক্ত করার জন্য কি আমার ব্যবহারকারীর পরিচয় বাড়ানো দরকার? যদি তা হয় তবে আমি কীভাবে এটি সম্পর্কে যাব।
আমার প্রায়শই অর্গানাইজআইডের প্রয়োজন হওয়ার কারণটি হ'ল লগইন করা ব্যবহারকারীর সাথে সম্পর্কিত এমন সংস্থার সাথে সম্পর্কিত ডেটা পুনরুদ্ধার করতে অনেক টেবিল প্রশ্নগুলি অর্গানাইজডআইডি-র উপর নির্ভরশীল।