我正在研究asp.net MVC核心應用程序。我有用戶和角色表的自定義數據庫。我想在自定義表格中使用asp.net標識,這樣我就不必使用aspnetusers,aspnet角色表格。如何使用asp.net標識和asp.net核心執行此操作使用與自定義表的aspnet身份
2
A
回答
1
祝你好運! :) 過去幾天我剛剛經歷了這個過程。我有它的工作,但在一些階段,它真的很痛苦。
簡而言之:
- 你需要創建一個實現接口IUSER自己的用戶模型。
- 您需要創建自己的DAL,從您的自定義數據庫表中獲取數據
- 你需要實現自己的UserStore,基於要使用
什麼asp.identity的功能實現不同的接口此鏈接將幫助您: https://www.asp.net/identity/overview/extensibility/overview-of-custom-storage-providers-for-aspnet-identity
1
您可以使用Cookie中間件身份驗證。
在你Startup.cs添加
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationScheme = "MyCookieMiddlewareInstance",
LoginPath = new PathString("/Account/Unauthorized/"),
AccessDeniedPath = new PathString("/Account/Forbidden/"),
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
在您的代碼,您驗證用戶名和密碼後,到登錄你叫
await HttpContext.Authentication.SignInAsync("MyCookieMiddlewareInstance", principal);
和簽收
await HttpContext.Authentication.SignOutAsync("MyCookieMiddlewareInstance");
請參閱在Microsoft website文章瞭解更多詳情
+0
如何在這種情況下處理註冊?它是否與我自己的表交替使用asp.net標識或aspnet標識? –
+1
您必須使用您自己的註冊方法。您的用戶和角色表可以看起來像沒有任何限制的任何東西。 – malkassem
相關問題
- 1. 使用asp.net身份驗證與自定義身份驗證
- 2. 微風js與aspnet身份?'
- 3. 在ASPNET身份
- 4. Asp.net身份2自定義用戶和自定義表名
- 5. asp.net身份與自定義角色
- 6. CAS與自定義OpenLDAP身份驗證
- 7. ASPNET身份使用GUID作爲關鍵
- 8. 使用自定義「用戶」表的ASP.NET身份
- 9. 自定義ASP.NET身份
- 10. Asp.NET身份自定義SignInManager
- 11. 自定義ASP.NET身份3
- 12. ASP.NET MVC5身份使用自定義的表結構
- 13. Asp.net MVC - 映射要求自定義用戶身份的身份
- 14. 使用UsernamePasswordForm身份驗證與自定義AuthenticationProvider
- 15. 使用Laravel身份驗證與自定義視圖
- 16. 會員和角色身份驗證使用自定義表
- 17. 自定義登錄與表單身份驗證
- 18. MVC表單身份驗證與自定義數據庫
- 19. WCF自定義用戶身份驗證
- 20. wsFederationHttpBinding,將自定義用戶身份STS
- 21. 自定義用戶身份驗證
- 22. 使用Web服務進行身份驗證的自定義成員身份
- 23. Windows身份驗證到使用配置文件的自定義身份驗證
- 24. MVC5 aspnet身份如何禁用聲明
- 25. 自定義ASPNET身份使用多個上下文應用程序的一對多關係
- 26. 如何設置asp.net mvc身份的自定義身份驗證?
- 27. 自定義的Asp.net自定義數據庫的身份
- 28. 如何手動使aspnet的表單身份驗證Cookie失效?
- 29. ASP.NET身份的自定義實現
- 30. Meteor.js中的自定義身份驗證
它是否與我自己的表交替使用asp.net標識或aspnet標識? –
我不知道我明白你的問題。你能解釋一下你的意思嗎? –
啊哈,好的。不,它不是asp.net身份的替代品。它是使用你自己的數據庫的asp.identity。這就是整個觀點:asp.identity內在使用它的接口,然後你必須實現接口與你的自定義數據庫進行通信,以告訴asp.identity如何使用它。正如鏈接上的第一句話所述:「ASP.NET Identity是一個可擴展的系統,可讓您創建自己的存儲提供程序並將其插入到應用程序中,而無需重新運行應用程序。」 –