การใช้งานที่สมบูรณ์และใกล้เคียงที่สุดของผู้ใช้และที่เก็บบทบาทกับการใช้งาน EntityFramework ดั้งเดิม มีการบันทึกไว้อย่างดี และรวมถึงส่วนขยาย RavenDB ที่มีประโยชน์มาก รองรับ .NET Standard 2.0
หมายเหตุ: สำหรับการจัดเก็บการคงอยู่ของ RavenDB v3.5 ให้สลับสาขาที่ใช้งานเป็น
v3.x
ASP.NET Core Identity เป็นระบบสมาชิกที่ช่วยให้คุณสามารถเพิ่มฟังก์ชันการเข้าสู่ระบบให้กับแอปพลิเคชันของคุณได้ ผู้ใช้สามารถสร้างบัญชีและเข้าสู่ระบบด้วยชื่อผู้ใช้และรหัสผ่านหรือสามารถใช้ผู้ให้บริการเข้าสู่ระบบภายนอกเช่น Facebook, Google, บัญชี Microsoft, Twitter หรืออื่น ๆ คุณสามารถกำหนดค่า ASP.NET Core Identity เพื่อใช้ฐานข้อมูล RavenDB เพื่อจัดเก็บชื่อผู้ใช้ รหัสผ่าน และข้อมูลโปรไฟล์
PM> Install-Package Maqduni.AspNetCore.Identity.RavenDb
หมายเหตุ: สามารถติดตั้งส่วนขยายเป็นแพ็คเกจแบบสแตนด์อโลนได้
PM> Install-Package Maqduni.RavenDb.Extensions
Startup.cs
) ลงทะเบียน DocumentAsyncSession
ต่อคำขอ HTTP แต่ละรายการ ใช้เพื่อจัดเก็บผู้ใช้/บทบาทในฐานข้อมูล เพิ่ม DocumentStore
ซิงเกิลตันภายใน
public void ConfigureServices ( IServiceCollection services )
{
// Add ravendb services.
services . AddRavenDbAsyncSession ( Configuration . GetConnectionString ( "RavenDb" ) ) ;
services . AddIdentity < ApplicationUser , ApplicationRole > ( )
. AddRavenDbStores ( )
. AddDefaultTokenProviders ( ) ;
.. .
}
บันทึก:
DocumentStore
เป็นซิงเกิลตันและAsyncSession
ได้รับการสร้างอินสแตนซ์ต่อคำขอ HTTP แต่ละรายการ- ดัชนี
"{userCollectionName}/ClaimsAndLogins"
จะถูกสร้างขึ้นเมื่อเริ่มต้นแอปพลิเคชัน หากไม่มีอยู่ในฐานข้อมูล ผู้ให้บริการข้อมูลระบุตัวตนอาศัยดัชนีนี้เพื่อให้สามารถค้นหาผู้ใช้ทางอีเมล ชื่อผู้ใช้ การอ้างสิทธิ์ และการเข้าสู่ระบบ
รู้สึกอิสระที่จะมีส่วนร่วมในโครงการโดยการให้ข้อเสนอแนะหรือโดยการฟอร์กและเพิ่มคุณสมบัติใหม่หรือแก้ไขข้อบกพร่อง