Авторизация на контроллерах динамического веб-API

Как использовать атрибуты AbpAuthorize или AbpAllowAnonymous? Каково поведение этих контроллеров по умолчанию? В документах не нашел.


person Cristina Pereira Cunha    schedule 01.12.2017    source источник


Ответы (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

Это объяснит лучше меня.

person WilsonPena    schedule 01.12.2017
comment
Я не думаю, что вы понимаете мой вопрос. Я знаю разницу между ними. Я хочу знать, как я могу использовать эти атрибуты в контроллерах динамического веб-API. - person Cristina Pereira Cunha; 01.12.2017
comment
Вы используете их в своем AppService. Когда вы создаете метод в службе приложений, вы можете использовать эти аннотации для управления разрешениями. Как и в примерах, которые я показал в своем посте, это методы внутри AppService. - person WilsonPena; 01.12.2017
comment
@CristinaPereiraCunha Это ответ на ваш вопрос? - person aaron; 02.12.2017

Вы можете добавить эти атрибуты в свои службы приложений или контроллеры, производные от AbpController. В основном он использует перехват и проверяет, есть ли у текущего пользователя требуемое разрешение или нет. (Следовательно, для проверки разрешения необходим аутентифицированный пользователь). Итак, сначала вам нужно аутентифицировать пользователя, чтобы погрузиться в эти разрешения.

person Alper Ebicoglu    schedule 02.12.2017