0

简介:我的任务是决定如何为应该从旧 WebForms 应用程序演变而来的基于云的项目实施用户身份验证。我正处于决策过程的开始阶段,但我必须尽快做出决定;所以,我会感谢你的经验。

为什么选择 WebForms?该应用程序基于较旧的 WebForms 代码,因此它应该从 WebForms 代码开始。问题是应用程序应该很快准备好,因此必须尽可能地重用代码。此外,我们没有具备 MVC 工作知识的开发人员。一些权衡是必要的。但是,登录过程将是新的,并且可以使用 MVC 方法来实现。

新功能:旧代码是为在 Intranet Web 服务器上运行而构建的,用户使用简单的登录名登录。安全问题并没有那么复杂。该应用程序使用 ASP.NET 之前的标识——非常旧,应用程序的那部分应该被替换。将会有更多的用户组应该在单独的工作空间中工作(想想公司)。

新账户——认证:用户应使用有效的电子邮件地址申请注册。对于新用户,电子邮件应该被验证为存在,然后应该由该组的管理员批准。

授权:将允许用户仅使用某些数据。考虑使用单个数据库,其中一个组的用户应该被允许仅访问该组专用的部分。但是,可能有可能拥有更多权限的高级用户。

我应该专注于使用 ASP.NET Identity 吗?如果是,(不依赖于旧版本)我应该从当前处于 3.0.0-beta7 的 ASP.NET Identity 3 开始(参见https://github.com/aspnet/Identity.git),还是应该坚持使用第 2 版?

4

1 回答 1

1

ASP.NET Identity 是 Microsoft 的主要身份和成员身份以及他们最新的身份库。如果您担心继续支持,那么这是适合您的库。

ASP.NET 身份库支持您对基于声明的授权(在您的情况下使用角色/组)和记录电子邮件地址确认的需求。这是开箱即用的。

但是,我不建议使用 ASP.NET Identity 3,因为它是在设计时考虑到 ASP.NET vNext 的,而不是您想要对旧系统执行的操作。

坚持使用 ASP.NET Identity v2.x

于 2015-09-15T17:11:47.697 回答