У меня есть 2 приложения:
ManagementStudio и DocumentStudio. ManagementStudio состоит из нескольких библиотек, на которые ссылается DocumentStudio.
Когда я пытаюсь войти в DocumentStudio, я получаю эту ошибку:
Я не уверен, что происходит, потому что я уже включил IdentityUserClaim в список своих моделей:
[Table("IdentityUserClaim", Schema = "ManagementStudio")]
public class UserClaims : IdentityUserClaim<string>
{
[Key]
public override int Id { get; set; }
}
public DbSet<ApplicationUsers> ApplicationUsers { get; set; }
public DbSet<UserRoles> UserRoles { get; set; }
public DbSet<UserClaims> UserClaims { get; set; }
public DbSet<IdentityUserClaim<string>> IdentityUserClaim { get; set; }
public DbSet<IdentityUserRole<string>> IdentityUserRole { get; set; }
public DbSet<Applications> Applications { get; set; }
public DbSet<Roles> Roles { get; set; }
public DbSet<ApiAccess> ApiAccess { get; set; }
public DbSet<EventLogs> EventLogs { get; set; }
public DbSet<ActivityLogs> ActivityLogs { get; set; }
public DbSet<CommunicationLogs> CommunicationLogs { get; set; }
public DbSet<UploadLogs> UploadLogs { get; set; }
public DbSet<Repositories> Repositories { get; set; }
public DbSet<Emails> Emails { get; set; }
public DbSet<Assets> Assets { get; set; }
public DbSet<Announcements> Announcements { get; set; }
public DbSet<AnnouncementAttachments> AnnouncementAttachments { get; set; }
Что еще я могу сделать, чтобы сделать эту работу?
EDIT:
Я заметил, что вызывается мой CustomClaimsHelper, поэтому я включаю и его:
public class CustomClaimsCookieSignInHelper<TIdentityUser> where TIdentityUser : IdentityUser
{
private readonly SignInManager<TIdentityUser> _signInManager;
public CustomClaimsCookieSignInHelper(SignInManager<TIdentityUser> signInManager)
{
_signInManager = signInManager;
}
public async Task SignInUserAsync(TIdentityUser user, bool isPersistent, IEnumerable<Claim> customClaims)
{
var claimsPrincipal = await _signInManager.CreateUserPrincipalAsync(user);
var identity = claimsPrincipal.Identity as ClaimsIdentity;
var claims = (from c in claimsPrincipal.Claims select c).ToList();
var savedClaims = claims;
if (customClaims != null)
{
identity.AddClaims(customClaims);
}
await _signInManager.Context.SignInAsync(IdentityConstants.ApplicationScheme,
claimsPrincipal,
new AuthenticationProperties { IsPersistent = isPersistent });
}
}
РЕДАКТИРОВАТЬ:
Я протестировал ручное создание таблицы с именем IdentityUserClaim с теми же столбцами, что и у моей таблицы ManagementStudio.IdentityUserClaim, и она работает. Это означает, что если я удалю схему для IdentityUserClaim, приложение будет работать. Однако есть ли способ заставить DocumentStudio искать правильную схему?