ASP.NET 基于云的应用程序的身份 + WebForms?

ASP.NET Identity + WebForms for the cloud-based application?

总结:我的任务是决定如何为应该从旧的 WebForms 应用程序发展而来的基于云的项目实现用户身份验证。我正处于决策过程的开始阶段,但我必须尽快做出决定;所以,我将感谢您的体验。

为什么选择WebForms?应用程序是基于较旧的WebForms代码,这样它应该从WebForms代码开始。问题是应用程序应该准备得相当快,因此必须尽可能多地重用代码。此外,我们没有具有 MVC 工作知识的开发人员。一些权衡是必要的。不过登录流程会是新的,可以用MVC的方式来实现。

新内容:旧代码是在内网 Web 服务器上构建到 运行,用户使用简单的登录名登录。安全方面的事情并没有那么复杂。该应用程序使用 ASP.NET 之前的标识——真的很旧,应用程序的那部分应该被替换。将有更多的用户组应该在单独的工作空间中工作(想想公司)。

新帐号--身份验证:用户应使用有效的电子邮件地址申请注册。对于新用户,需要验证邮箱是否存在,然后通过群专职管理员审核。

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

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

ASP.NET Identity 是 Microsoft 的身份和成员资格及其最新身份库的主要推动力。如果您担心持续的支持,那么这就是适合您的库。

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

不过,我不建议使用 ASP.NET Identity 3,因为它的设计考虑了 ASP.NET vNext,而不是您想对遗留系统执行的操作。

坚持ASP.NET身份v2.x