Я создал пользовательскую модель пользователя для структуры сущностей и идентификации asp.net. Я проверил другие ответы здесь, они близки к моему вопросу, но ответы не соответствуют моему требованию. поэтому и спрашиваю здесь.
Все в порядке. Но когда я пытаюсь получить идентификатор пользователя, например:
ApplicationUser user = await manager.FindByIdAsync(User.Identity.GetUserId());
User.Identity.GetUserId() возвращает строку. Я настроил его как Guid. Но он возвращает строку :(
Мои занятия здесь. Пожалуйста, помогите мне, как я могу получить User.Identity.GetUserId() в контроллере веб-API в качестве Guid?
public class GuidUserLogin : IdentityUserLogin<Guid>
{
}
public class GuidUserRole : IdentityUserRole<Guid>
{
}
public class GuidUserClaim : IdentityUserClaim<Guid>
{
}
public class GuidRole : IdentityRole<Guid, GuidUserRole>
{
}
//public class GuidUserContext : IdentityDbContext<ApplicationUser, GuidRole, Guid, GuidUserLogin, GuidUserRole, GuidUserClaim> { }
public class GuidUserStore : UserStore<ApplicationUser, GuidRole, Guid, GuidUserLogin, GuidUserRole, GuidUserClaim>
{
public GuidUserStore(DbContext context)
: base(context)
{
}
}
public class GuidRoleStore : RoleStore<GuidRole, Guid, GuidUserRole>
{
public GuidRoleStore(DbContext context)
: base(context)
{
}
}
public class ApplicationUser : IdentityUser<Guid, GuidUserLogin, GuidUserRole, GuidUserClaim>, ICreateDateRequired
{
public ApplicationUser()
{
}
[Key]
public Guid UserId { get; set; }
public override Guid Id { get; set; }
public override string UserName { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public string Password { get; set; }
//Matching Attributes
public override string Email { get; set; }
public string FacebookId { get; set; }
public string TwitterId { get; set; }
public string GoogleId { get; set; }
public override string PhoneNumber { get; set; }
public string SocialAccessToken { get; set; }
public string Gender { get; set; }
public virtual List<Shade> Shades { get; set; }
[InverseProperty("ParentUser")]
public virtual List<UserFriendship> Friends { get; set; }
public virtual List<Contact> Contacts { get; set; }
//[Column(TypeName = "DateTime2")]
//[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime? CreateDate { get; set; }
public string ImageUrl { get; set; }
public string ThumbUrl { get; set; }
public string BackUrl { get; set; }
public virtual List<ContactDetail> UserContactDetails { get; set; }
}