Желаемый результат:
Я портирую наши старые веб-учетные записи в Identity по множеству причин, однако в приложении могут быть только новые пользователи, созданные уполномоченным персоналом. Достаточно просто, просто заблокируйте страницу регистрации с помощью [Authorize (Role = "Admin")]. Сотрудник создаст пользователя с любым паролем, неважно, что сработает ссылка подтверждения электронной почты для пользователя. Как только это письмо будет подтверждено, я хочу заставить пользователя сбросить свой пароль.
Выпуск:
Используя asp Identity в .Net Core 2.2, я пытаюсь проверить значение пользовательского свойства для пользователя (bool) и, если false, выполнить перенаправление в браузере. Кажется, я застреваю при доступе к свойствам пользователя в Http-конвейере. Нулевые объекты и т. Д.
Что я пробовал
До сих пор я пытался использовать фильтр ресурсов, так как он срабатывает после фильтра аутентификации, поэтому я должен иметь возможность доступа к свойствам пользователя через HttpContext, но без радости. Затем я попытался реализовать какое-то промежуточное программное обеспечение, чтобы сделать то же самое, но все равно не получилось. Я просто не могу понять, как получить значение этого свойства через HttpContext, если это вообще возможно?
Модель пользователя
public class ApplicationUser : IdentityUser
{
public int CustomerId { get; set; }
//I want to get this property value
public bool PasswordConfirmed { get; set; }
}
Я знаю, что мог бы просто использовать Фильтр Действий, чтобы сделать это, но, кажется, немного поздно в конвейере.