Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that framework.
The OpenID module has been updated to use a logical ID (a stringified GUID) as the "public" identifier. We should do something similar with the Users module.
Steps required to implement that:
Add a new property in User.cs,
Create a new Orchard-specific IUserStore interface derived from Identity's IUserStore<IUser> that exposes FindByPhysicalIdAsync() and GetPhysicalIdAsync().
Make the Orchard UserStore implement this interface and update FindByIdAsync()/GetUserIdAsync() to use the logical ID instead of the physical ID.
Create a new Orchard-specific UserManager class derived from Identity's UserManager<IUser> that exposes FindByPhysicalIdAsync() and GetPhysicalIdAsync().
Update AdminController to use FindByPhysicalIdAsync where appropriate.
The OpenID module has been updated to use a logical ID (a stringified GUID) as the "public" identifier. We should do something similar with the Users module.
Steps required to implement that:
User.cs
,IUserStore
interface derived from Identity'sIUserStore<IUser>
that exposesFindByPhysicalIdAsync()
andGetPhysicalIdAsync()
.UserStore
implement this interface and updateFindByIdAsync()
/GetUserIdAsync()
to use the logical ID instead of the physical ID.UserManager
class derived from Identity'sUserManager<IUser>
that exposesFindByPhysicalIdAsync()
andGetPhysicalIdAsync()
.AdminController
to useFindByPhysicalIdAsync
where appropriate./cc @sebastienros