Asp.net
如何在沒有實體框架的情況下使用 ASP.NET Identity 3.0 [關閉]
我現在看到的所有 ASP.NET Identity 3.0 範例都使用實體框架來儲存與使用者相關的數據。
是否有任何不使用實體框架且
ApplicationUser類不是從哪裡派生的範例Microsoft.AspNet.Identity.EntityFramework.IdentityUser?在 ASP.NET Identity 2.x 中,需要實現
IUser介面。現在似乎沒有這樣的介面 - 所以我們不確定如何User正確定義類。幾乎沒有關於這個主題的文件。第二個問題是
AddIdentity呼叫Startup.ConfigureServices。它與命名空間中的特定類非常相關,Microsoft.AspNet.Identity.EntityFramework並且不清楚如何在沒有這些類的情況下註冊身份服務。
我已經在我的項目中實現了,你要實現的主要是 UserStore 和 RoleStore
我的 SiteUser 和 SiteRole 類不繼承任何東西
主要是在讓asp.net身份添加自己的服務之前添加自己的服務
services.TryAdd(ServiceDescriptor.Scoped<IUserStore<SiteUser>, UserStore<SiteUser>()); services.TryAdd(ServiceDescriptor.Scoped<IUserPasswordStore<SiteUser>, UserStore<SiteUser>()); services.TryAdd(ServiceDescriptor.Scoped<IUserEmailStore<SiteUser>, UserStore<SiteUser>()); services.TryAdd(ServiceDescriptor.Scoped<IUserLoginStore<SiteUser>, UserStore<SiteUser>()); services.TryAdd(ServiceDescriptor.Scoped<IUserRoleStore<SiteUser>, UserStore<SiteUser>()); services.TryAdd(ServiceDescriptor.Scoped<IUserClaimStore<SiteUser>, UserStore<SiteUser>()); services.TryAdd(ServiceDescriptor.Scoped<IUserPhoneNumberStore<SiteUser>, UserStore<SiteUser>()); services.TryAdd(ServiceDescriptor.Scoped<IUserLockoutStore<SiteUser>, UserStore<SiteUser>()); services.TryAdd(ServiceDescriptor.Scoped<IUserTwoFactorStore<SiteUser>, UserStore<SiteUser>()); services.TryAdd(ServiceDescriptor.Scoped<IRoleStore<SiteRole>, RoleStore<SiteRole>());一些相同的介面將在此處註冊,但如果它們先註冊,它將使用您的介面
services.AddIdentity<SiteUser, SiteRole>();