inheritance - IdentityServer4 Skoruba 新字段参数丢失
问题描述
我正在为我的项目使用https://github.com/skoruba/IdentityServer4.Admin存储库。
我为一些自定义字段(CreateDate)创建了 ViewModel 类(公共类 CreateDateViewModel:IdentityUser),并从 IdentityUser 继承了它。迁移(Add-Migration "MigrationName" -Context IdentityServerConfigurationDbContext -o Migrations/IdentityServerConfiguration)并更新数据库后,该字段出现在数据库中,但Account控制器仍然无法访问user.CreateDate属性(var user = await _userManager .GetUserAsync(model.UserName); user.CreateDate 丢失)
你能建议做什么吗?
解决方案
一段时间后我得到了答案,由于这里没有评论,我决定自己回答。如果有人面临同样的问题,请知道最好将此信息放入声明中,而不是在 DB 中创建新列。因此,您需要修改和添加您自己的用户声明的 OpenIDProfile.cs、AddressClaimConstants 和 OpenidClaimsHelpers.cs 文件。然后您需要调用方法 updateuserclaims - 同步现有的和新的声明,然后将它们存储到 UserClaims 中。
在您的控制器中的任何地方,您都可以获得以下声明:
你可以在这里找到更多https://github.com/skoruba/IdentityServer4.Admin/issues/308
推荐阅读
- docker - .NetCore 微服务 CI 管道 Azure DevOps Build error @ docker image
- node.js - 基于相似 ID 合并区域对象
- angular - 在 Ionic 4 PWA 中显示用于导航的单个 URL
- ios - CoreNFC 扫描错误 - 会话意外无效 - iOS 13.2
- python - 有没有办法在 pandas python 中解决这个问题 - “UnicodeEncodeError: 'charmap' codec can't encode characters in position”?
- mysql - 如何在sql中使用jon连接两个表?
- python - 从分位数拟合分布
- javascript - 为什么存在滚动条时,clientWidth 和 offsetWidth 的值相同?
- python - 两个应用程序同时访问 localspark 会话实例时发生错误。调用 o2402.defaultParallelism 时出错
- c++ - 如何避免在 Allegro 5 中重绘静态背景?