总结:我的任务是决定如何为基于云的项目实现用户身份验证,这个项目应该从旧的WebForms应用程序发展而来。我刚开始做决定,但我必须尽快做出决定;所以,我将感谢你的经验。
为什么WebForms吗?应用程序基于旧的WebForms代码,因此它应该从WebForms代码开始。问题是应用程序应该很快准备好,因此必须尽可能多地重用代码。此外,我们没有具有MVC工作知识的开发人员。有些取舍是必要的。但是,登录过程将是新的,并且可以使用MVC方法实现。
更新:旧代码是在内部网web服务器上运行的,用户使用简单的登录名登录。安全问题没有那么复杂。应用程序使用pre-ASP。NET Identity——非常老旧,应用程序的那部分应该被替换。将有更多的用户组应该在单独的工作区中工作(想想公司)。
新帐户——authentication:用户应该使用有效的电子邮件地址请求注册。对于新用户,应该验证该电子邮件是否存在,然后由专门负责该组的管理员批准。
Authorization:一个用户只被允许使用部分数据。考虑使用单个数据库,其中一个组的用户应该只允许访问专用于该组的部分。但是,可能会有高级用户拥有更多的权限。
我应该专注于使用ASP吗?净身份?如果是,(不依赖于旧版本)我应该从ASP开始吗?. NET Identity 3目前是3.0.0-beta7(参见https://github.com/aspnet/Identity.git),还是应该坚持使用版本2?
. NET Identity是微软在身份和成员以及他们最新的身份库方面的主要推动力。如果您关心持续的支持,那么这个库适合您。
ASP。. NET Identity库支持基于声明的授权(在您的情况下使用角色/组)和记录电子邮件地址确认的需求。这是现成的。
我不建议使用ASP。NET Identity 3不过,因为它是用asp.net设计的。. NET vNext,而不是你想在你的遗留系统中做的事情。
坚持ASP。. NET Identity v2.x