Пользователь может зарегистрироваться только после одобрения администратора - PullRequest
0 голосов
/ 10 июня 2019

Я настраиваю новый проект mvc5 в c #, в котором я использую Identity Framework и Open ID.Это означает, что новый пользователь может зарегистрироваться через стороннее устройство, например, Google, Facebook, Microsoft.

Итак, эта часть выполнена.Теперь я хочу ограничить пользователей, значит, когда пользователь будет пытаться зарегистрировать утверждение, оно будет отправлено администратору.Если администратор принимает только тогда, пользователь может зарегистрироваться.Есть ли способ сделать это?

1 Ответ

2 голосов
/ 10 июня 2019

Проверьте комбинацию политик авторизации / безопасности на основе ролей.Когда какой-либо пользователь регистрируется через третье лицо, код, который обрабатывает регистрацию, выполняет все необходимые записи для нового пользователя и дает им роль, скажем, «Неутвержденного пользователя».Вы можете создать набор контроллеров / представлений и т. Д., Который может просматривать этот пользователь (возможно, страницу профиля, целевую страницу с общей информацией или просто страницу отказа от ответственности, которая говорит им, что им нужно ждать, чтобы получить одобрение).

Оттуда, когда администратор утверждает пользователя, код, который обрабатывает утверждение, меняет роль на «Утвержденный пользователь».Это тогда позволяет им получить доступ ко всему сайту.

Я не могу сказать, используете ли вы классический 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...