diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs index fe6af2e7f6..7a494ddae5 100644 --- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs +++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityRole.cs @@ -81,13 +81,9 @@ namespace Volo.Abp.Identity Claims.RemoveAll(c => c.ClaimType == claim.Type && c.ClaimValue == claim.Value); } - /// - /// Returns the name of the role. - /// - /// The name of the role. public override string ToString() { - return Name; + return $"{base.ToString()}, Name = {Name}"; } } } diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs index 1a6583b45e..fd61f5c809 100644 --- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs +++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs @@ -10,8 +10,6 @@ using Volo.Abp.Guids; namespace Volo.Abp.Identity { - //Add Name and Surname properties? - public class IdentityUser : AggregateRoot, IHasConcurrencyStamp { /// @@ -134,7 +132,7 @@ namespace Volo.Abp.Identity Tokens = new Collection(); } - public void AddRole(IGuidGenerator guidGenerator, Guid roleId) + public void AddRole(Guid roleId) { Check.NotNull(roleId, nameof(roleId)); @@ -143,7 +141,7 @@ namespace Volo.Abp.Identity return; } - Roles.Add(new IdentityUserRole(guidGenerator.Create(), Id, roleId)); + Roles.Add(new IdentityUserRole(Id, roleId)); } public void RemoveRole(Guid roleId) diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs index 2740b67323..daf1f4af6d 100644 --- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs +++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRole.cs @@ -6,7 +6,7 @@ namespace Volo.Abp.Identity /// /// Represents the link between a user and a role. /// - public class IdentityUserRole : Entity + public class IdentityUserRole : Entity { /// /// Gets or sets the primary key of the user that is linked to a role. @@ -23,9 +23,8 @@ namespace Volo.Abp.Identity } - protected internal IdentityUserRole(Guid id, Guid userId, Guid roleId) + protected internal IdentityUserRole(Guid userId, Guid roleId) { - Id = id; UserId = userId; RoleId = roleId; } diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs index af2b2ab20f..bb3d9c86c5 100644 --- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs +++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs @@ -335,7 +335,7 @@ namespace Volo.Abp.Identity await _userRepository.EnsureCollectionLoadedAsync(user, u => u.Roles, cancellationToken); - user.AddRole(_guidGenerator, role.Id); + user.AddRole(role.Id); } /// diff --git a/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs b/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs index 98fbfd55f5..736ddcc214 100644 --- a/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs +++ b/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs @@ -76,10 +76,11 @@ namespace Volo.Abp.Identity.EntityFrameworkCore { b.ToTable(tablePrefix + "UserRoles", schema); + b.HasKey(ur => new {ur.UserId, ur.RoleId}); + b.HasOne().WithMany().HasForeignKey(ur => ur.RoleId).IsRequired(); b.HasOne().WithMany(u => u.Roles).HasForeignKey(ur => ur.UserId).IsRequired(); - b.HasIndex(ur => new { ur.UserId, ur.RoleId }); b.HasIndex(ur => new { ur.RoleId, ur.UserId }); }); diff --git a/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs b/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs index 931fdf3f87..e321d107ed 100644 --- a/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs +++ b/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/AbpIdentityTestDataBuilder.cs @@ -43,8 +43,8 @@ namespace Volo.Abp.Identity private void AddUsers() { var john = new IdentityUser(_guidGenerator.Create(), "john.nash"); - john.Roles.Add(new IdentityUserRole(_guidGenerator.Create(), john.Id, _moderator.Id)); - john.Roles.Add(new IdentityUserRole(_guidGenerator.Create(), john.Id, _supporterRole.Id)); + john.AddRole(_moderator.Id); + john.AddRole(_supporterRole.Id); _userRepository.Insert(john); } }