Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Policy extends Object
Есть только один объект Политики, установленный во время выполнения в любой момент времени. Объект Политики может быть установлен, вызывая setPolicy
метод. Установленный объект Политики может быть получен, вызывая getPolicy
метод.
Если никакой объект Политики не был установлен во время выполнения, звонок getPolicy
устанавливает экземпляр реализации Политики по умолчанию (реализация подкласса по умолчанию этого абстрактного класса). Реализация Политики по умолчанию может быть изменена, устанавливая значение "policy.provider" свойства безопасности (в файле свойств безопасности Java) к полностью определенному имени требуемой реализации подкласса Политики. Файл свойств безопасности Java располагается в файле под названием <JAVA_HOME>/lib/security/java.security. <JAVA_HOME> обращается к значению java.home системного свойства, и определяет каталог, где JRE устанавливается.
Код программы может непосредственно разделить Политику на подклассы обеспечить пользовательскую реализацию. Кроме того, экземпляр объекта Политики может быть создан, вызывая один из getInstance
методы фабрики со стандартным типом. Тип политики по умолчанию является "JavaPolicy".
Как только экземпляр Политики был установлен (или по умолчанию, или вызывая setPolicy
), Среда выполнения Java вызывает implies
когда это должно определить, может ли выполнение кода (инкапсулировавший в ProtectionDomain) выполнить SecurityManager-защищенные операции. То, как объект Политики получает свои данные политики, до реализации Политики непосредственно. Данные политики могут храниться, например, в плоском файле ASCII, в сериализированном двоичном файле класса Политики, или в базе данных.
refresh
метод вызывает объект политики обновить/перезагрузить его данные. Эта работа является зависящей от реализации. Например, если объектно-ориентированные памяти политики ее данные в конфигурационных файлах, вызывая refresh
заставит это перечитывать файлы политики конфигурации. Если работа обновления не поддерживается, этот метод ничего не делает. Отметьте, что обновленная политика, возможно, не имеет эффекта на классы в определенном ProtectionDomain. Это зависит от реализации провайдера Политики implies
метод и его PermissionCollection, кэширующий стратегию.
Provider
, ProtectionDomain
, Permission
Модификатор и Тип | Класс и Описание |
---|---|
static interface |
Политика. Параметры
Это представляет интерфейс маркера для параметров Политики.
|
Модификатор и Тип | Поле и Описание |
---|---|
static PermissionCollection |
UNSUPPORTED_EMPTY_COLLECTION
Пустой экземпляр PermissionCollection только для чтения.
|
Конструктор и Описание |
---|
Policy() |
Модификатор и Тип | Метод и Описание |
---|---|
static Policy |
getInstance(String type, Policy.Parameters params)
Возвращает объект Политики указанного типа.
|
static Policy |
getInstance(String type, Policy.Parameters params, Provider provider)
Возвращает объект Политики указанного типа.
|
static Policy |
getInstance(String type, Policy.Parameters params, String provider)
Возвращает объект Политики указанного типа.
|
Политика. Параметры |
getParameters()
Параметры Условий возврата.
|
PermissionCollection |
getPermissions(CodeSource codesource)
Возвратите объект PermissionCollection, содержащий набор полномочий, предоставленных указанному CodeSource.
|
PermissionCollection |
getPermissions(ProtectionDomain domain)
Возвратите объект PermissionCollection, содержащий набор полномочий, предоставленных указанному ProtectionDomain.
|
static Policy |
getPolicy()
Возвращает установленный объект Политики.
|
Провайдер |
getProvider()
Возвратите Провайдера этой Политики.
|
Строка |
getType()
Возвратите тип этой Политики.
|
boolean |
implies(ProtectionDomain domain, Permission permission)
Оценивает глобальную политику для полномочий, предоставленных ProtectionDomain, и тестирует, предоставляют ли разрешение.
|
void |
refresh()
Обновляет/перезагружает конфигурацию политики.
|
static void |
setPolicy(Policy p)
Устанавливает объект Политики в масштабе всей системы.
|
public static final PermissionCollection UNSUPPORTED_EMPTY_COLLECTION
public static Policy getPolicy()
setPolicy
. Этот метод сначала вызывает SecurityManager.checkPermission
с a SecurityPermission("getPolicy")
разрешение, чтобы гарантировать нормально получать объект Политики.SecurityException
- если менеджер безопасности существует и checkPermission
метод не позволяет получать объект Политики.SecurityManager.checkPermission(Permission)
, setPolicy(java.security.Policy)
public static void setPolicy(Policy p)
SecurityManager.checkPermission
с a SecurityPermission("setPolicy")
разрешение, чтобы гарантировать нормально устанавливать Политику.p
- новый системный объект Политики.SecurityException
- если менеджер безопасности существует и checkPermission
метод не позволяет устанавливать Политику.SecurityManager.checkPermission(Permission)
, getPolicy()
public static Policy getInstance(String type, Policy.Parameters params) throws NoSuchAlgorithmException
Этот метод пересекает список зарегистрированных поставщиков систем обеспечения безопасности, запускающихся с самого привилегированного Провайдера. Возвращается новый объект Политики инкапсуляция реализации PolicySpi от первого Провайдера, который поддерживает указанный тип.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
type
- указанный тип Политики. См. раздел Политики в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для списка стандартных типов Политики.params
- параметры для Политики, которая может быть нулем.SecurityException
- если у вызывающей стороны нет разрешения, чтобы получить экземпляр Политики для указанного типа.NullPointerException
- если указанный тип является нулем.IllegalArgumentException
- если указанные параметры не понимаются под реализацией PolicySpi от выбранного Провайдера.NoSuchAlgorithmException
- если никакой Провайдер не поддерживает реализацию PolicySpi для указанного типа.Provider
public static Policy getInstance(String type, Policy.Parameters params, String provider) throws NoSuchProviderException, NoSuchAlgorithmException
Возвращается новый объект Политики инкапсуляция реализации PolicySpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке провайдера.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
type
- указанный тип Политики. См. раздел Политики в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для списка стандартных типов Политики.params
- параметры для Политики, которая может быть нулем.provider
- провайдер.SecurityException
- если у вызывающей стороны нет разрешения, чтобы получить экземпляр Политики для указанного типа.NullPointerException
- если указанный тип является нулем.IllegalArgumentException
- если указанный провайдер является нулем или пустой, или если указанные параметры не понимаются под реализацией PolicySpi от указанного провайдера.NoSuchProviderException
- если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасности.NoSuchAlgorithmException
- если указанный провайдер не поддерживает реализацию PolicySpi для указанного типа.Provider
public static Policy getInstance(String type, Policy.Parameters params, Provider provider) throws NoSuchAlgorithmException
Возвращается новый объект Политики инкапсуляция реализации PolicySpi от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
type
- указанный тип Политики. См. раздел Политики в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для списка стандартных типов Политики.params
- параметры для Политики, которая может быть нулем.provider
- Провайдер.SecurityException
- если у вызывающей стороны нет разрешения, чтобы получить экземпляр Политики для указанного типа.NullPointerException
- если указанный тип является нулем.IllegalArgumentException
- если указанный Провайдер является нулем, или если указанные параметры не понимаются под реализацией PolicySpi от указанного Провайдера.NoSuchAlgorithmException
- если указанный Провайдер не поддерживает реализацию PolicySpi для указанного типа.Provider
public Provider getProvider()
У этого экземпляра Политики только будет Провайдер, если он был получен через звонок Policy.getInstance
. Иначе этот метод возвращает нуль.
public String getType()
У этого экземпляра Политики только будет тип, если он был получен через звонок Policy.getInstance
. Иначе этот метод возвращает нуль.
public Policy.Parameters getParameters()
У этого экземпляра Политики только будут параметры, если он был получен через звонок Policy.getInstance
. Иначе этот метод возвращает нуль.
public PermissionCollection getPermissions(CodeSource codesource)
Приложения отговариваются вызвать этот метод, так как эта работа не может поддерживаться всеми реализациями политики. Приложения должны исключительно положиться implies
метод, чтобы выполнить проверки политики. Если приложение абсолютно должно вызвать getPermissions метод, оно должно вызвать getPermissions(ProtectionDomain)
.
Реализация по умолчанию этой политики возврата метода. UNSUPPORTED_EMPTY_COLLECTION. Этот метод может быть переопределен, если реализация политики может возвратить ряд полномочий, предоставленных CodeSource.
codesource
- CodeSource, которому предоставили возвращенный PermissionCollection.public PermissionCollection getPermissions(ProtectionDomain domain)
Приложения отговариваются вызвать этот метод, так как эта работа не может поддерживаться всеми реализациями политики. Приложения должны положиться implies
метод, чтобы выполнить проверки политики.
Реализация по умолчанию этого метода сначала получает полномочия, возвращенные через getPermissions(CodeSource)
(CodeSource берется от указанного ProtectionDomain), так же как полномочия, расположенные в указанном ProtectionDomain. Все эти полномочия тогда объединяются и возвращаются в новом объекте PermissionCollection. Если getPermissions(CodeSource)
политика возврата. UNSUPPORTED_EMPTY_COLLECTION, тогда этот метод возвращает полномочия, содержавшиеся в указанном ProtectionDomain в новом объекте PermissionCollection.
Этот метод может быть переопределен, если реализация политики поддерживает возврат ряд полномочий, предоставленных ProtectionDomain.
domain
- ProtectionDomain, которому предоставили возвращенный PermissionCollection.public boolean implies(ProtectionDomain domain, Permission permission)
domain
- ProtectionDomain, чтобы протестироватьpermission
- Объект полномочий, который будет протестирован на импликацию.ProtectionDomain
public void refresh()
refresh
на основанной на файле политике заставит файл быть перечитанным. Реализация по умолчанию этого метода ничего не делает. Этот метод должен быть переопределен, если работа обновления поддерживается реализацией политики.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.