Пока решил вопрос по другому.
1) Перенес ApplicationRoleManager, ApplicationSignInManager, ApplicationUserManager из DAL в BLL где они по сути и должны были быть как я понимаю, при этом оставил UserStore и RoleStore в DAl в UnitOfWork.
2) Создал 2 статических метода в ApplicationSignInManager
public static Func<CookieValidateIdentityContext, Task> OnValidateIdentity()
{
return SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser, int>(TimeSpan.FromMinutes(30), GetIdentityAsync, id => id.GetUserId<int>());
}
public static async Task<ClaimsIdentity> GetIdentityAsync(ApplicationUserManager manager, ApplicationUser user)
{
var userIdentity = await manager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
//userIdentity.AddClaim(new Claim("FriendlyName", friendlyName));
//userIdentity.AddClaim(new Claim("balance", balance.ToString(CultureInfo.CurrentCulture)));
//userIdentity.AddClaim(new Claim("sms", sms.ToString()));
//userIdentity.AddClaim(new Claim("minutes", minutes.ToString()));
return userIdentity;
}
и подключил Owin библиотеки в BLL
3) в Startup в MVC ипользовал созданный метод
Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = ApplicationSignInManager.OnValidateIdentity()
}
Таким образом в BLL появились либы для работы с OWIN а в PL не появился EF