Понятие авторизации часто всплывает, когда затрагивается тема безопасности приложений. Вы должны точно знать, кто и как использует ваш продукт. Иначе злоумышленники могут получить доступ к важной информации. Поэтому иногда появляется необходимость проверить, авторизован ли пользователь в приложении и к чему он имеет доступ. Подробнее об этом и авторизации в целом читайте в этой статье.
Что такое авторизация пользователя?
Часто понятие авторизации путают с аутентификацией пользователя. Что же такое авторизация? Авторизация — это процесс проверки того, имеет ли пользователь права на выполнение определенных действий. Аутентификация же отвечает за проверку подлинности идентификатора, который предоставил пользователь. В роли идентификатора чаще всего выступают логи и пароль. Например, как это работает в электронном магазине: процесс аутентификации выполняется в тот момент, когда пользователь входит в свой личный кабинет. В это время происходит проверка, что такой пользователь действительно существует. Авторизация же запускается только тогда, когда пользователь совершает какое-то действие в магазине, например, добавляет товар в корзину. Получается, что аутентификация отвечает на вопрос “кто вы?”, когда авторизация помогает понять “что вы можете делать?” и определить к каким данным, действия и функциям приложения вы имеете доступ. Процесс авторизации сложнее и включает также понятия такие, как группы пользователей, роли и их иерархия, виды действий.
Виды авторизации
Есть три основных типа авторизации.
Авторизация, основанная на ролях. В данном случае администратор присваивает одну или несколько ролей пользователю, которые предоставляют доступ к конкретным частям и функциям приложения, различным страницам и компонентам. Такой подход удобен для определения иерархии в организациях. Когда, например, в зависимости от должности меняется доступ к каким-то данным: пользователь с ролью редактор имеет доступ ко всем публикациям и право на их редактирование, когда автор может изменять только свои публикации и имеет доступ на чтение публикаций других авторов.
Избирательная модель авторизации. При таком подходе доступ предоставляются определенному пользователю или группе пользователей. Субъект, владелец объекта, устанавливает права к нему для каждого отдельного пользователя. Простой пример такой модели авторизации — документы Google, владелец и создатель которых может передавать и ограничивать права доступа другим пользователям.
Мандатная модель авторизации. Здесь каждому элементу системы назначается уровень конфиденциальности. Пользователям же предоставляется уровень доступа, который определяет, с какими объектами они могут взаимодействовать.Такая модель чаще всего используется в системах, где есть повышенные требования к безопасности.
Авторизация в AppMaster
В приложениях, которые вы можете создать в AppMaster, регистрация пользователя представлена модулем Auth. Он позволяет создавать и редактировать группы пользователей, а также права доступа к ним. При создании проекта модуль уже встроен в него.
Настройки модуля позволяют управлять следующими действиями:
- включать регистрацию в приложении;
- создавать списки групп пользователей, у которых есть доступ к регистрации;
- настраивать сессии пользователя;
- создавать и редактировать группы пользователей.
Как проверить авторизован ли пользователь в приложении?
Проверка авторизации чаще всего связана с безопасностью и нужна для того, чтобы удостовериться, что пользователь авторизован и имеет права доступа к определенным частям приложения. В AppMaster, чтобы проверить авторизован ли пользователь в приложении, нужно создать бизнес-процесс. В данном случае мы передаем в бизнес-процесс объект USER и получаем список его сессий. Последняя сессия в массиве — последняя активная сессия пользователя. В ответе бизнес-процесса отдаем Active. Если Active имеет значение true, значит пользователь авторизован.
Вот так довольно легко можно проверить авторизацию пользователя в приложении, созданном в AppMaster.