asp.net - .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.NET 标识表。我们使它类似于 Membershipusers 表,后来迁移了整个表。
添加
ApplicationUser, ApplicationRole,ApplicationUserManager , ApplicationSignInManager, ApplicationDbContext
为 Startup.cs 中定义的 DI 实现 Autofac。
致力于登录/注册控制器类。
最后将整个 Membership 数据库迁移到新的 aspnetusers 表。
应用程序最初是使用 NOPCommerce (asp.net webforms) 设计的,替换Membership.GetUser().ProviderUserKey.ToString()
为User.Identity.GetUserId()
推荐阅读
- jquery - 动态设置后选择器的宽度
- python - 通过 Python iLO REST 客户端连接到 HPE iLO 5 时出现 RetriesExhaustedError
- outlook-web-addins - Outlook 2016 的旁加载加载项
- python - 自 ElasticSearch 映射以来 Spark 映射中的 PyPark 错误
- python - 默认情况下,在 Python 中安装“可选”依赖项(setuptools)
- android - apksigner, zipalign and jarsigner not working as expected
- html - Make image scale next to a div inside a div
- python - Is it possible to generate a pytest HTML report on a timeout?
- python - What does sum(1 for c in sentence if c.isupper())) mean in non programming terms
- sql - LEFT JOIN help in sql