首页 > 解决方案 > .net 会员资格的升级路径

问题描述

我支持带有 SQL 后端的旧版 webforms 应用程序,并且一直在尝试逐步升级它我已经升级到 .NET 4.6(托管服务提供商允许的最高版本),添加了一些 jQuery、EF 6 的优点,一般进行重构并尝试切换到代码先从数据库优先 edmx,我的下一个计划是开始使用某种前端库(如 Vue)创建新功能。但...

我目前的问题是会员资格。它在整个代码和语句中使用,例如

new Guid(Membership.GetUser().ProviderUserKey.ToString())

实在是太多了,无法承受。

数据库有 10 个表和 9 个视图。

vw_aspnet_Applications
vw_aspnet_MembershipUsers
vw_aspnet_Profiles
etc..

应用程序使用它进行身份验证并跟踪哪个用户在做什么。

有没有办法轻松地将其升级为现代解决方案?我可以把精力从我自己的时间里拿出来,但我更喜欢一个不过分的解决方案。用户数量可能少于 20,因此替代方案不必很复杂。它只需要支持会员资格正在做的大部分事情。

我在自己的时间里玩过 Auth0,但它似乎不适合这个。也有 MS Identity,但我更愿意在进入兔子洞之前听取建议。

谢谢!

标签: asp.netwebforms

解决方案


绝对不是简单的升级。这是我们在案例中所做的。

  • 创建 ASP.NET 标识表。我们使它类似于 Membershipusers 表,后来迁移了整个表。

  • 添加ApplicationUser, ApplicationRole,ApplicationUserManager , ApplicationSignInManager, ApplicationDbContext

  • 为 Startup.cs 中定义的 DI 实现 Autofac。

  • 致力于登录/注册控制器类。

  • 最后将整个 Membership 数据库迁移到新的 aspnetusers 表。

应用程序最初是使用 NOPCommerce (asp.net webforms) 设计的,替换Membership.GetUser().ProviderUserKey.ToString()User.Identity.GetUserId()


推荐阅读