Asp Net Mvc Identity Multitenancy FindByEmailAsync не работает - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь реализовать приложение для нескольких арендаторов, следуя шаг за шагом посту Скотта Брейди здесь:

https://www.scottbrady91.com/ASPNET-Identity/Quick-and-Easy-ASPNET-Identity-Multitenancy

Я не совсем уверен, куда мне следует поместитьэти строки кода:

var context = new ApplicationUserDbContext<ApplicationUser>("DefaultConnection");
var userStore = new ApplicationUserStore<ApplicationUser>(context) { TenantId = 1 };
var userManager = new UserManager<ApplicationUser, string>(userStore);

Я пытался использовать это в своем действии входа в систему в AccountController:

var context = new ApplicationDbContext();
var userStore = new ApplicationUserStore<ApplicationUser>(context) { TenantId = tenantId };
UserManager = new ApplicationUserManager(userStore);
SignInManager.UserManager = UserManager;
ApplicationUser userApp =await UserManager.FindByEmailAsync(model.Email);

Но UserManager.FindByEmailAsync всегда возвращает null, любое представление о том, что ядолжен сделать, чтобы это работало?Моя настоящая цель - подписаться на пользователя, но всегда возвращать отказ.И я думаю, что проблема в том, чтобы найти ApplicationUser.

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать, спасибо заранее.

1 Ответ

0 голосов
/ 03 октября 2018

Вы используете классы напрямую.Попробуйте таким способом ... и убедитесь, что у вас есть пользователь с тем Gmail, который вы предоставляете.

var context = new ApplicationDbContext();
var store = new UserStore<ApplicationUser>(context);
var manager =  new ApplicationUserManager(store);
ApplicationUser userApp=await manager.FindByEmailAsync(model.Email);
...