ASP.NET Identity用户ID默认情况下是公开的,它在每个用户注册时创建并存储在数据库中。如果你不希望公开用户ID,可以使用自定义字段代替。
以下是使用自定义字段代替默认用户ID的代码示例:
public class ApplicationUser : IdentityUser
{
public string CustomID { get; set; }
}
var user = new ApplicationUser() { UserName = model.Email, Email = model.Email, CustomID = Guid.NewGuid().ToString() };
var result = await UserManager.CreateAsync(user, model.Password);
public class ApplicationUserManager : UserManager
{
public ApplicationUserManager(IUserStore store)
: base(store)
{
}
public async Task FindByIdAsync(string userId)
{
return await Users.FirstOrDefaultAsync(x => x.CustomID == userId);
}
}
现在,使用自定义ID字段代替默认用户ID,可以避免公开用户ID。