Пример Device Access демонстрирует использование паттерна Privilege Separation.
Архитектура примера
Пример содержит три программы: Device, LoginManager и Storage.
В этом примере программа Device обращается к программе Storage для получения информации и к программе LoginManager для авторизации.
Программа Device получает доступ к программе Storage только после успешной авторизации.

Пример демонстрирует возможность разделения логики авторизации и логики доступа к данным на независимые компоненты. Такое разделение гарантирует, что доступ к данным может быть открыт только после успешной авторизации. При этом контроль за тем, что авторизация была проведена и закончилась успешно, осуществляется модулем безопасности. Кроме этого, такая архитектура позволяет производить независимую разработку и тестирование логики авторизации и логики предоставления доступа к данным.
Политика безопасности в примере Device Access имеет следующие особенности:
Device имеет возможность обращаться к программе LoginManager для авторизации.GetInfo() программы Storage управляют методы модели безопасности Flow:session, имеет два состояния: unauthenticated и authenticated.unauthenticated.unauthenticated в authenticated и обратно.session создается при запуске программы Device.Device метода Login() программы LoginManager состояние объекта session изменяется на authenticated.Device метода Logout() программы LoginManager состояние объекта session изменяется на unauthenticated.Device метода GetInfo() программы Storage проверяется текущее состояние объекта session. Вызов разрешается, только если текущее состояние объекта – authenticated.Файлы примера
Код примера и скрипты для сборки находятся по следующему пути:
/opt/KasperskyOS-Community-Edition-<version>/examples/device_access
Сборка и запуск примера
См. "Сборка и запуск примеров".
В начало