我正在研究ASP身份的自定义实现,我在两个C#类项目中分离了我的函数,一个用于实体,一个用于业务逻辑。我首先复制了用于ASP MVC 5的Identity的默认模板并将数据库实体移动到Entities项目中,但之后我不得不注释GenerateIdentityAsync方法,因为UserManager在另一个项目中:
public class ApptelinkUser : IdentityUser<long, ApptelinkUserLogin, ApptelinkUserRole, ApptelinkUserClaim>
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(ApptelinkUserManager manager, string authenticationType)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, authenticationType);
return userIdentity;
}
}
然后我通过直接从UserManager调用CreateIdentityAsync方法替换了对此方法的所有调用,但后来我意识到GenerateUserIdentityAsync方法对于设置声明很有用,是否有另一种方法将此方法添加到另一个项目或另一个变通方法添加UserClaims?