Проверьте комбинацию политик авторизации / безопасности на основе ролей.Когда какой-либо пользователь регистрируется через третье лицо, код, который обрабатывает регистрацию, выполняет все необходимые записи для нового пользователя и дает им роль, скажем, «Неутвержденного пользователя».Вы можете создать набор контроллеров / представлений и т. Д., Который может просматривать этот пользователь (возможно, страницу профиля, целевую страницу с общей информацией или просто страницу отказа от ответственности, которая говорит им, что им нужно ждать, чтобы получить одобрение).
Оттуда, когда администратор утверждает пользователя, код, который обрабатывает утверждение, меняет роль на «Утвержденный пользователь».Это тогда позволяет им получить доступ ко всему сайту.
Я не могу сказать, используете ли вы классический Asp.Net с mvc 5 или ядром Asp.Net, но концепции похожи (за исключением политики аутентификации)в обоих.
По существу вы украшаете контроллеры / действия, которые вы хотите защитить с помощью:
[Authorize("ApprovedUser")]
public class MyProtectedController
{
}
[Authorize("UnapprovedUser")]
public class MyUnprotectedController
{
}
Для получения дополнительной информации: https://docs.microsoft.com/en-us/aspnet/core/security/authorization/roles?view=aspnetcore-2.2