MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB के साथ ASP.NET कोर 3.1 पहचान को कैसे कार्यान्वित करें?

डिफ़ॉल्ट ASP.NET कोर पहचान के प्रतिस्थापन के रूप में जनता पर उपलब्ध Mongo Identity NuGet पैकेज का उपयोग करें। कुछ पैकेज जो अभी भी रखरखाव में हैं वे हैं AspNetCore.Identity.Mongo और AspNetCore.Identity.MongoDbCore

  1. NuGet में नवीनतम पैकेज स्थापित करें (ऊपर देखें)।

  2. "समाधान एक्सप्लोरर" पैनल में अपने प्रोजेक्ट पर राइट क्लिक करें> जोड़ें> नया मचान आइटम...

    बाएं पैनल पर "पहचान" चुनें, और मुख्य चयन पैनल में पहचान पर डबल क्लिक करें

  3. "पहचान जोड़ें" विंडो में, सभी या उस पृष्ठ का चयन करें जिसका आप उपयोग करना चाहते हैं।

    डेटा संदर्भ वर्ग इनपुट के अलावा "+" बटन पर क्लिक करें, एक नया जोड़ें (नाम कोई फर्क नहीं पड़ता क्योंकि आप इसे बाद में हटा सकते हैं), और उपयोगकर्ता वर्ग के लिए भी ऐसा ही करें (इसे अच्छी तरह से नाम दें, जैसे एप्लिकेशन यूज़र, यह होगा जिसे आप बाद के विकास में उपयोग करेंगे, इसे बदलने में कुछ समय लगेगा और बहुत सारी परेशानी होगी)

    उपयोगकर्ता वर्ग के लिए, आप इसे नामस्थान के रूप में नाम बदल सकते हैं, जैसे "[आपका प्रोजेक्ट]। क्षेत्र। पहचान। डेटा। एप्लिकेशन यूज़र", यह स्कैफोल्ड कोड पर दिखाई देगा।

3.1. यदि आवश्यक हो, तो आप रोल क्लास जोड़ सकते हैं, आपके कोड को वर्गीकृत करने के लिए उपयोगकर्ता वर्ग के समान नामस्थान पर बनाना बेहतर होगा।

  1. [आपका प्रोजेक्ट]/क्षेत्र/पहचान में फ़ाइल "IdentityHostingStartup.cs" खोलें, कोड को GitHub की गाइड से बदलें, अतिरिक्त सेटिंग जानकारी यहां पाया गया
// Add Identity for AspNetCore.Identity.Mongo, ApplicationRole is optional
services.AddIdentityMongoDbProvider<ApplicationUser, ApplicationRole>(identityOptions =>
{
    // Password settings.
    identityOptions.Password.RequiredLength = 6;
    identityOptions.Password.RequireLowercase = true;
    identityOptions.Password.RequireUppercase = true;
    identityOptions.Password.RequireNonAlphanumeric = false;
    identityOptions.Password.RequireDigit = true;

    // Lockout settings.
    identityOptions.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);
    identityOptions.Lockout.MaxFailedAccessAttempts = 5;
    identityOptions.Lockout.AllowedForNewUsers = true;

    // User settings.
    identityOptions.User.AllowedUserNameCharacters =
      "ab[email protected]+";
    identityOptions.User.RequireUniqueEmail = true;
}, mongoIdentityOptions => {
    mongoIdentityOptions.ConnectionString = "mongodb://localhost:27017/MyDB";
    // mongoIdentityOptions.UsersCollection = "Custom User Collection Name, Default User";
    // mongoIdentityOptions.RolesCollection = "Custom Role Collection Name, Default Role";
}).AddDefaultUI(); //.AddDefaultUI() to temporary remove error when no EmailSender provided, see https://stackoverflow.com/questions/52089864/

// This is required to ensure server can identify user after login
services.ConfigureApplicationCookie(options =>
{
    // Cookie settings
    options.Cookie.HttpOnly = true;
    options.ExpireTimeSpan = TimeSpan.FromMinutes(5);

    options.LoginPath = "/Identity/Account/Login";
    options.AccessDeniedPath = "/Identity/Account/AccessDenied";
    options.SlidingExpiration = true;
});
  1. प्रमाणीकरण सेवा पंजीकृत करें Configure() . पर Startup.cs . में विधि फ़ोल्डर
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // code here...
    app.UseHttpsRedirection();
    app.UseStaticFiles();

    app.UseRouting();

    // add app.UseAuthentication(); to register authentication service, without it, user could technically login but has no logged in session created.
    app.UseAuthentication();
    app.UseAuthorization();
    // more code
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NestJS के साथ सर्वर-साइड पेजिनेशन कैसे प्रदान करें?

  2. बटन क्लिक के साथ उल्का पृष्ठ ताज़ा करना

  3. मोंगो में उप-दस्तावेज़ अनुक्रमणिका

  4. Django टेम्पलेट्स और MongoDB _id

  5. node.js mongodb जावास्क्रिप्ट स्कोपिंग भ्रम