Как использовать атрибуты AbpAuthorize или AbpAllowAnonymous? Каково поведение этих контроллеров по умолчанию? В документах не нашел.
Авторизация на контроллерах динамического веб-API
Ответы (2)
AbpAuthorize просто используется для проверки разрешений. Это, например:
[AbpAuthorize("Administration.UserManagement.CreateUser")]
public void CreateUser(CreateUserInput input)
{
//A user can not execute this method if he is not granted for "Administration.UserManagement.CreateUser" permission.
}
Проверяет, есть ли у него разрешение Administration.UserManagement.CreateUser
. Прежде чем позволить пользователю выполнить метод.
AbpAuthorize, если оставить без параметров, просто проверяет, вошел ли пользователь в систему.
[AbpAuthorize]
public void SomeMethod(SomeMethodInput input)
{
//A user can not execute this method if he did not login.
}
Это, например, проверит, вошел ли пользователь в систему, прежде чем он сможет выполнить метод.
Попробуйте прочитать здесь для более подробной информации:
https://aspnetboilerplate.com/Pages/Documents/Authorization#DocCheckPermission
Это объяснит лучше меня.
Вы можете добавить эти атрибуты в свои службы приложений или контроллеры, производные от AbpController. В основном он использует перехват и проверяет, есть ли у текущего пользователя требуемое разрешение или нет. (Следовательно, для проверки разрешения необходим аутентифицированный пользователь). Итак, сначала вам нужно аутентифицировать пользователя, чтобы погрузиться в эти разрешения.