Внутри менеджера представлен набор методов
check*()
, которые делегируют выполнение основному методу checkPermission()
. Сам доступ, права на который нужно проверить, представляется классом java.security.Permission
. Так, доступ к файлу на чтение проверяет метод checkRead
. Он передает в checkPermission
объект FilePermission
с указанным именем файла.Экземпляр класса
SecurityManager
, который реализует нужную логику ограничения доступа, можно установить программно методом System.setSecurityManager
, или на старте приложения флагом -Djava.security.manager
. По умолчанию менеджер не установлен.Менеджер безопасности изначально был нужен для ограничения апплетов – они выполнялись в браузере пользователя и не должны были получить доступ к локальным пользовательским данным. Сейчас технология апплетов устарела, но SecurityManager остается всё таким же актуальным.