ASP.NET MVC 5 Identity 2.0 和 OWIN 双因素身份验证,使用现有数据库



在研究Web窗体4年后,我刚刚开始使用MVC。我看了一些解释体系结构/基本原理的视频,现在我可以使用EF6用MVC5复制我的旧项目的几个模块。

我有一个SQL Server数据库,其中包含一些表,如专辑/艺术家/标题/评论和用户表。我能够使用EF6处理第一组表,包括插入/删除。在上一个项目中,我使用BCrypt实现了自定义的Web表单身份验证,方法是将详细信息存储在User表中,然后进行验证并设置authcookie。

User表包含UserId、PWHash、EMail、FirstName、LastName等详细信息。UserId是Reviews表中的一个FK,其他的则很少。

我希望实现如下:

  1. Login screen accepts credentials and validates with existing User table.
  2. If valid, move to the 2FA screen(eMail/SMS).
  3. If valid, then allow access to application.

大多数教程都介绍了如何扩展FirstName/LastName等属性,但没有说明如何使用现有的DB。我计划使用bcrypt/scrypt来加密敏感细节。

我已经经历了MVC 5&ASP.NET Identity-实现混乱,但id没有我的查询的所有答案

我只需要关于如何插入现有数据库而不是使用默认提供的dbcontext的起点

就我个人而言,当你远离传统时,我发现文档也很令人沮丧,所以你可能会陷入痛苦的世界。

最简单的方法是使用FormsAuthentication 自己完全控制身份验证过程

然而,如果您想利用许多开箱即用的代码,这些代码是用MVC5提供的,但针对的是自定义数据库或模式,那么您可能必须实现自己的UserStore和UserManager等。

问题是,有很多东西要实现,所以你一定会玩得很开心。

请通读这篇关于Custom Storage Prodivers的文章,以便抢先一步。

祝好运

如果您的应用程序使用EF Code First,那么您可以使用现有的模式并插入自己的用户。看看下面的例子,它展示了如何重用现有的用户信息并将其插入Identityhttp://aspnet.codeplex.com/SourceControl/latest#Samples/Identity/CustomMembershipSample/Readme.txt

您不必从IdentityDbContext继承。您可以直接使用DbContext。在这种情况下,您必须覆盖onModelCreating来创建用户/角色表以及表之间的所有映射。

相关内容

  • 没有找到相关文章

最新更新