具有双因素和盲哈希的ASP.NET MVC4

时间:2013-03-13 11:45:23

标签: asp.net-mvc entity-framework authentication asp.net-membership

ASP.NET新手在这里,我正在寻找一种方法将我现有的数据库集成到ASP.NET的身份验证系统中。我有一个单独的项目利用Entity Framework与数据库(Model-First Entity Framework 5)进行交互,我希望我的ASP.NET MVC 4站点可以用来进行身份验证。

更复杂的是,这不是一个简单的用户名/哈希/盐表。我使用Blind Hashing并使用Google身份验证器(OATH-TOTP)进行双因素身份验证是用户可以拥有的选项。此外,我不只是拥有用户,我有帐户和个人资料,其帐户可以有许多个人资料(公众意义上的不同的,独立的'用户',所有者可以轻松切换)。最后,帐户还可以有几封电子邮件,而不仅仅是一封。换句话说,在处理身份验证时,这不符合正常的用户/密码约定。幸运的是,我已经编写了部分类来为这些实体(例如Account)提供方便的处理方式,例如:

someAccount.CheckPassword(password[, twoFactorToken])

我可以使用Entity Framework 5轻松完成这项工作,但我对ASP.NET MVC 4处理用户的方式非常不熟悉。是否有一种简单的方法可以在ASP.NET MVC 4中进行用户身份验证?我是否需要使用MembershipProvider做些什么?我使用SimpleMembership还是传统的?额外奖励:我可以利用Windows身份框架并使用它吗?

1 个答案:

答案 0 :(得分:2)

我选择不使用成员资格提供程序,只使用表单身份验证。我没有意识到你可以在不使用会员提供者的情况下使用它。