ASP.Net MVC 및 ID 2.0으로 다중 소유 웹 응용 프로그램을 개발 중입니다. 나는이 같은 IdentityRole을 확장 한 : 각 임차인 등Asp.Net ID 및 다중 소유에 대한 중복 역할 이름
"관리자", "직원"과 같은 역할의 개별 집합이있을 것이다 그러나 나는를 추가 할 때 문제가있다
public class ApplicationRole : IdentityRole
{
public ApplicationRole() : base() { }
public ApplicationRole(string name) : base(name) { }
public string TenantId { get; set; }
}
이 있기 때문에 새로운 역할 "Tenant B"에 "Admin"역할을 추가 할 때 "Tenant A"에 "Admin"역할이있는 경우 "Admin"이름을 사용하기 때문에 IdentityResult 오류가 발생합니다. AspNetRoles 테이블의 "이름"필드 ...
IdentityResult roleResult = await RoleManager.CreateAsync(
new ApplicationRole
{
Name = "Admin",
TenantId = GetTenantId()
});
고유하지만 내가 ASP.Net 확인 시험을 사용자 정의 할 수있는 방법 그래서 "AspNetRoles"의 "Name"필드는 "TenantId"와 유일 할 수 있습니다.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
var role = modelBuilder.Entity<IdentityRole>()
.ToTable("AspNetRoles");
role.Property(r => r.Name)
.IsRequired()
.HasMaxLength(256)
.HasColumnAnnotation("Index", new IndexAnnotation(
new IndexAttribute("RoleNameIndex")
{ IsUnique = false }));
}
: 나는 정보에 대한
샘, 추가 이주 명령이 오류가 발생합니다 : 충돌하는 구성 설정이 테이블 'IdentityRole'에 열 '이름'지정되었습니다 : 인덱스 재산 'isUnique에'= '거짓'속성 인덱스 속성 속성 'IsUnique'= 'True'와의 충돌 –
업데이트 된 게시물보기 –