আমি এটির সাথেও আটকে ছিলাম কারণ আজকাল বেশিরভাগ সময় ব্যবহারকারীর নাম ই-মেল হয়, তবে আমি আলাদা ই-মেইল ক্ষেত্রের যুক্তিটি বুঝতে পারি। এগুলি নিখুঁতভাবে আমার চিন্তাভাবনা / অভিজ্ঞতা কারণ আমি এই সম্পর্কে মাইক্রোসফ্টের বক্তব্যও পাই না।
মনে রাখবেন, অ্যাস্প আইডেন্টিটি খাঁটি কাউকে সনাক্ত করার জন্য, আপনাকে সনাক্ত করার জন্য কোনও ইমেল থাকতে হবে না তবে তারা আমাদের এটি সংরক্ষণের অনুমতি দেয় কারণ এটি একটি পরিচয়ের অংশ হিসাবে তৈরি হয়। আপনি যখন ভিজ্যুয়াল স্টুডিওতে একটি নতুন ওয়েব প্রকল্প তৈরি করেন, আপনাকে অনুমোদনের বিকল্পগুলির জন্য বিকল্প দেওয়া হবে।
আপনি যদি এমভিসি এর মতো একটি খালি প্রকল্পের প্রকার বাছাই করেন এবং "স্বতন্ত্র অ্যাকাউন্টগুলিতে" প্রমাণীকরণ সেট করেন তবে আপনাকে ব্যবহারকারী ব্যবস্থাপনার জন্য প্রাথমিক আন্ডারপিনিংস দেওয়া হবে। যার মধ্যে একটি অ্যাপ্লিকেশন-স্টার্ট \ আইডেন্টিটি কনফিগ.সি.এস. এর মধ্যে দেখতে এমন একটি উপশ্রেণী অন্তর্ভুক্ত করেছে:
// Configure the application user manager used in this application. UserManager is defined in ASP.NET Identity and is used by the application.
public class ApplicationUserManager : UserManager<ApplicationUser>
{
public ApplicationUserManager(IUserStore<ApplicationUser> store)
: base(store)
{
}
public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)
{
var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));
// Configure validation logic for usernames
manager.UserValidator = new UserValidator<ApplicationUser>(manager)
{
AllowOnlyAlphanumericUserNames = false,
RequireUniqueEmail = true
};
}
//N.B rest of code removed
}
এটি আমাদের যা বলে তা হ'ল মাইক্রোসফ্ট আমাদের আরও জটিল ব্যবহারকারীর নাম সংরক্ষণ করার ইচ্ছে করে (AllowOnlyAlphaNumericUserNames = মিথ্যা উল্লেখ করুন), সুতরাং আমাদের কাছে মিশ্র সংকেত রয়েছে।
এটি একটি ডিফল্ট ওয়েব প্রকল্প থেকে উত্পন্ন হ'ল আমাদের মাইক্রোসফ্টের একটি ভাল ইঙ্গিত / দিকনির্দেশ (এবং একটি পরিষ্কার উপায়) দেয় যাতে আমাদের ব্যবহারকারীর নাম ক্ষেত্রের জন্য ই-মেইল প্রবেশ করতে সক্ষম করে। এটি পরিষ্কার কারণ মাইক্রোসফ্ট.আউইএন প্রসঙ্গের সাথে অ্যাপ্লিকেশন বুটস্ট্র্যাপ করার সময় স্ট্যাটিক তৈরি পদ্ধতিটি App_Start \ startup.Auth.cs এর মধ্যে ব্যবহৃত হয়।
এই পদ্ধতির একমাত্র নীচের দিকটি হল আপনি দুবার ই-মেইলটি সংরক্ষণ করবেন .... যা ভাল নয়!
((UserValidator<ApplicationUser>) UserManager.UserValidator).AllowOnlyAlphanumericUserNames = false;