【发布时间】:2018-01-02 13:30:00
【问题描述】:
我对如何实现如下功能感到有些困惑:
GetNormalizedRoleNameAsync(TRole, CancellationToken)
SetNormalizedRoleNameAsync(TRole, String, CancellationToken)
GetNormalizedUserNameAsync(TUser, CancellationToken)
SetNormalizedUserNameAsync(TUser, String, CancellationToken)
GetUserNameAsync(TUser, CancellationToken)
SetUserNameAsync(TUser, String, CancellationToken)
在 ASP.NET Core CustomIdentityProvider Sample 和 Actual ASP.NET Core Identity UserStoreBase 类中,它们执行以下操作:
public Task SetNormalizedUserNameAsync(ApplicationUser user, string normalizedName, CancellationToken cancellationToken)
{
cancellationToken.ThrowIfCancellationRequested();
if (user == null) throw new ArgumentNullException(nameof(user));
if (normalizedName == null) throw new ArgumentNullException(nameof(normalizedName));
user.NormalizedUserName = normalizedName;
return Task.FromResult<object>(null);
}
public Task<string> GetUserNameAsync(ApplicationUser user, CancellationToken cancellationToken)
{
cancellationToken.ThrowIfCancellationRequested();
if (user == null) throw new ArgumentNullException(nameof(user));
return Task.FromResult(user.UserName);
}
这些函数是否只是简单地从已填充的用户对象中提取规范化名称并另外更新已填充的用户对象上的规范化名称。我没有看到这些功能的用途,有人可以解释一下吗?
我还需要在我的自定义用户/角色表中实际保留 NormalizedUserName 和 NormalizedRoleName 还是不需要它们?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-core asp.net-identity