我正在研究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. 微风js与aspnet身份?'
- 2. 在ASPNET身份
- 3. 使用自定义“用户”表的ASP.NET身份
- 4. Asp.NET身份自定义SignInManager
- 5. 自定义ASP.NET身份
- 6. 使用Laravel身份验证与自定义视图
- 7. 使用UsernamePasswordForm身份验证与自定义AuthenticationProvider
- 8. Asp.net MVC - 映射要求自定义用户身份的身份
- 9. 会员和角色身份验证使用自定义表
- 10. 自定义登录与表单身份验证
- 11. MVC表单身份验证与自定义数据库
- 12. wsFederationHttpBinding,将自定义用户身份STS
- 13. Windows身份验证到使用配置文件的自定义身份验证
- 14. 自定义的Asp.net自定义数据库的身份
- 15. 自定义ASPNET身份使用多个上下文应用程序的一对多关系
- 16. 如何设置asp.net mvc身份的自定义身份验证?
- 17. Firebase的自定义身份验证
- 18. MVC中的自定义身份验证
- 19. 使用自定义模型的Django身份验证用户
- 20. aspnet mvc使用OAUTH2自定义提供程序对用户进行身份验证
- 21. Asp.Net MVC 5与身份表和自定义表中的多对多关系
- 22. Azure MobileApp自定义身份验证VS Asp.Net身份
- 23. 自定义身份验证以形成身份验证
- 24. 自定义Firebase用户身份不使用Firebase用户uid
- 25. 使用aspnet身份登录时检查用户的角色
- 26. 如何更新多表到Asp.Net MVC 5与身份表和自定义表
- 27. 在Web API中使用Windows身份验证的自定义RoleProvider
- 28. 使用自定义角色初始化ASP.NET身份中的RoleManager
- 29. 使用HttpWebRequest的自定义NTLM身份验证
- 30. 使用简单注射器的身份自定义实施
它是否与我自己的表交替使用asp.net标识或aspnet标识? –
我不知道我明白你的问题。你能解释一下你的意思吗? –
啊哈,好的。不,它不是asp.net身份的替代品。它是使用你自己的数据库的asp.identity。这就是整个观点:asp.identity内在使用它的接口,然后你必须实现接口与你的自定义数据库进行通信,以告诉asp.identity如何使用它。正如链接上的第一句话所述:“ASP.NET Identity是一个可扩展的系统,可让您创建自己的存储提供程序并将其插入到应用程序中,而无需重新运行应用程序。” –