Asp.net 为什么未调用重写的ClaimSideEntityFactory.CreateAsync()方法?
我创建了一个继承自Asp.net 为什么未调用重写的ClaimSideEntityFactory.CreateAsync()方法?,asp.net,asp.net-identity,Asp.net,Asp.net Identity,我创建了一个继承自ClaimsIdentity的MyClaimsIdentity类。当我运行我的应用程序时,CreateAsync方法从未被调用,我也从未看到我添加的自定义声明 没有编译错误,如果我添加默认构造函数,我可以看到这个类是构造的,但是在CreateAsync方法中没有遇到断点 public class MyClaimsFactory : ClaimsIdentityFactory<User, string> { public override async Task
ClaimsIdentity
的MyClaimsIdentity
类。当我运行我的应用程序时,CreateAsync
方法从未被调用,我也从未看到我添加的自定义声明
没有编译错误,如果我添加默认构造函数,我可以看到这个类是构造的,但是在CreateAsync
方法中没有遇到断点
public class MyClaimsFactory : ClaimsIdentityFactory<User, string>
{
public override async Task<ClaimsIdentity> CreateAsync(UserManager<User, string> manager, User user, string authenticationType)
{
var identity = await base.CreateAsync(manager, user, authenticationType);
if (!String.IsNullOrWhiteSpace(user.FirstName))
{
identity.AddClaim(new Claim("given_name", user.FirstName));
}
return identity;
}
公共类MyClaimsFactory:ClaimSideEntityFactory
{
公共重写异步任务CreateAsync(UserManager管理器、用户用户、字符串身份验证类型)
{
var identity=await base.CreateAsync(管理器、用户、authenticationType);
如果(!String.IsNullOrWhiteSpace(user.FirstName))
{
identity.AddClaim(新声明(“给定名称”,user.FirstName));
}
返回身份;
}
将此设置为答案,谢谢
您是否偶然使用IdentityServer?如果是这样,这可能会帮助您…-Jeremy 8月3日16:13您是否偶然使用IdentityServer?如果是这样,这可能会帮助您…是的,我正在使用IdentityServer V3。您提供的链接正是我遇到的问题。谢谢。通常,如果您将另一个用户的工作作为答案,您应该做出回答wer社区维基。抱歉,当答案是评论时,我不确定该怎么办。我下次会这么做。