Asp.net core 学习笔记之 authen + autho + oidc + oauth + spa 第五篇 (自定义 Entity)

自定义指的是我们想对 Identity 的几个 Entity 做修改.

比如 User 我们要多记入一些 column, 或者我们不喜欢 guid 作为 Id 想用 int 来做. 

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/add-user-data?view=aspnetcore-5.0&tabs=netcore-cli

做法挺简单的. 首先我们知道 identity 基于 ef core 嘛. 把 ApplicationDbContext 直接继承到 IdentityDbContext 就可以了.  

 而这个 IdentityDbContext 其实有好几个版本. 最底层的一个就能够让我们替换所有的 entity 了 

 我们把所有的 class 都重新实现一边 (要继承原本的 identity class 哦) 然后通过上面这个方式就可以 override 了. 

比如 User

 其它的 Role, Claim 都是同一个做法. 

除了添加 column 和换 int Id 以外, 如果想修改 database 的 config 也是可以的, 比如换 table name, column name 等等 

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/customize-identity-model?view=aspnetcore-5.0

就是走 entity fluent api 就 ok 了

特别提醒一下,我们只能在 identity 的结构上扩展,并不能修改它. 比如我不想用 Id 想换成 alt key 就不行了. 

原文地址:https://www.cnblogs.com/keatkeat/p/14455309.html