Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Configuration extends Object
Конфигурация входа в систему содержит следующую информацию. Отметьте, что этот пример только представляет синтаксис по умолчанию для Configuration
. Реализации подкласса этого класса могут реализовать альтернативные синтаксисы и могут получить Configuration
из любого источника, такого как файлы, базы данных, или серверы.
Name { ModuleClass Flag ModuleOptions; ModuleClass Flag ModuleOptions; ModuleClass Flag ModuleOptions; }; Name { ModuleClass Flag ModuleOptions; ModuleClass Flag ModuleOptions; }; other { ModuleClass Flag ModuleOptions; ModuleClass Flag ModuleOptions; };
Каждая запись в Configuration
индексируется через имя приложения, Имя, и содержит список LoginModules, сконфигурированного для того приложения. Каждый LoginModule
определяется через его полностью определенное имя класса. Аутентификация продолжает вниз список модулей в точном определенном порядке. Если у приложения нет определенной записи, оно принимает значение по умолчанию к определенной записи для "другого".
Флаговое значение управляет полным поведением, поскольку аутентификация продолжает вниз стек. Следующее представляет описание допустимых значений для Флага и их соответствующей семантики:
1) Required - TheLoginModule
is required to succeed. If it succeeds or fails, authentication still continues to proceed down theLoginModule
list. 2) Requisite - TheLoginModule
is required to succeed. If it succeeds, authentication continues down theLoginModule
list. If it fails, control immediately returns to the application (authentication does not proceed down theLoginModule
list). 3) Sufficient - TheLoginModule
is not required to succeed. If it does succeed, control immediately returns to the application (authentication does not proceed down theLoginModule
list). If it fails, authentication continues down theLoginModule
list. 4) Optional - TheLoginModule
is not required to succeed. If it succeeds or fails, authentication still continues to proceed down theLoginModule
list.
Полная аутентификация успешно выполняется, только если все Необходимое и Необходимое LoginModules успешно выполняются. Если Достаточное
LoginModule
конфигурируется и успешно выполняется, тогда только Необходимое и Необходимое LoginModules до этого Достаточного LoginModule
потребность успешно выполниться для полной аутентификации, чтобы успешно выполниться. Если никакое Необходимое или Необходимое LoginModules не конфигурируются для приложения, то по крайней мере один Достаточный или Дополнительный
LoginModule
должен успешно выполниться.
ModuleOptions является пространством разделенный список LoginModule
Специфичные значения, которые передают непосредственно к базовому LoginModules. Опции определяются LoginModule
непосредственно, и управление поведение в пределах этого. Например, a LoginModule
может определить опции, чтобы поддерживать возможности отладки/тестирования. Корректный способ определить опции в Configuration
при использовании следующего соединения значения ключа: отладьте = "истина". Ключ и значение должны быть разделены, 'равняется' символу, и значение должно быть окружено двойными кавычками. Если Строка в форме, $ {system.property}, произойдет в значении, то это будет расширено до значения системного свойства. Отметьте, что нет никакого предела числу вариантов a LoginModule
может определить.
Следующее представляет пример Configuration
запись, основанная на синтаксисе выше:
Login { com.sun.security.auth.module.UnixLoginModule required; com.sun.security.auth.module.Krb5LoginModule optional useTicketCache="true" ticketCache="${user.home}${/}tickets"; };
Это Configuration
определяет, что названное приложение, "Вход в систему", требует, чтобы пользователи сначала аутентифицировали к com.sun.security.auth.module.UnixLoginModule, который обязан успешно выполняться. Даже если аутентификация UnixLoginModule перестала работать, com.sun.security.auth.module.Krb5LoginModule все еще вызывается. Это помогает скрыть источник отказа. Так как Krb5LoginModule является Дополнительным, полная аутентификация успешно выполняется, только если (Необходимый) UnixLoginModule успешно выполняется.
Также отметьте, что опции LoginModule-specific, useTicketCache = "истина" и ticketCache= $ {user.home} $ {/} билеты", передают к Krb5LoginModule. Эти опции дают Krb5LoginModule команду использовать кэш билета в указанном расположении. Системные свойства, user.home и / (file.separator), расширяются до их соответствующих значений.
Есть только один объект Конфигурации, установленный во время выполнения в любой момент времени. Объект Конфигурации может быть установлен, вызывая setConfiguration
метод. Установленный объект Конфигурации может быть получен, вызывая getConfiguration
метод.
Если никакой объект Конфигурации не был установлен во время выполнения, звонок getConfiguration
устанавливает экземпляр реализации Конфигурации по умолчанию (реализация подкласса по умолчанию этого абстрактного класса). Реализация Конфигурации по умолчанию может быть изменена, устанавливая значение "login.configuration.provider" свойства безопасности (в файле свойств безопасности Java) к полностью определенному имени требуемой реализации подкласса Конфигурации. Файл свойств безопасности Java располагается в файле под названием <JAVA_HOME>/lib/security/java.security. <JAVA_HOME> обращается к значению java.home системного свойства, и определяет каталог, где JRE устанавливается.
Код программы может непосредственно разделить Конфигурацию на подклассы, чтобы обеспечить пользовательскую реализацию. Кроме того, экземпляр объекта Конфигурации может быть создан, вызывая один из getInstance
методы фабрики со стандартным типом. Тип политики по умолчанию является "JavaLoginConfig". См. раздел Конфигурации в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для списка стандартных типов Конфигурации.
LoginContext
Модификатор и Тип | Класс и Описание |
---|---|
static interface |
Конфигурация. Параметры
Это представляет интерфейс маркера для Параметров конфигурации.
|
Модификатор | Конструктор и Описание |
---|---|
protected |
Configuration()
Единственный конструктор.
|
Модификатор и Тип | Метод и Описание |
---|---|
abstract AppConfigurationEntry[] |
getAppConfigurationEntry(String name)
Получите AppConfigurationEntries для указанного имени от этой Конфигурации.
|
static Configuration |
getConfiguration()
Получите установленную Конфигурацию входа в систему.
|
static Configuration |
getInstance(String type, Configuration.Parameters params)
Возвращает объект Конфигурации указанного типа.
|
static Configuration |
getInstance(String type, Configuration.Parameters params, Provider provider)
Возвращает объект Конфигурации указанного типа.
|
static Configuration |
getInstance(String type, Configuration.Parameters params, String provider)
Возвращает объект Конфигурации указанного типа.
|
Конфигурация. Параметры |
getParameters()
Возвратите Параметры конфигурации.
|
Провайдер |
getProvider()
Возвратите Провайдера этой Конфигурации.
|
Строка |
getType()
Возвратите тип этой Конфигурации.
|
void |
refresh()
Обновите и перезагрузите Конфигурацию.
|
static void |
setConfiguration(Configuration configuration)
Установите вход в систему
Configuration . |
protected Configuration()
public static Configuration getConfiguration()
Configuration.setConfiguration
метод, тогда тот объект возвращается. Иначе, объект Конфигурации по умолчанию возвращается.SecurityException
- если у вызывающей стороны нет разрешения, чтобы получить Конфигурацию.setConfiguration(javax.security.auth.login.Configuration)
public static void setConfiguration(Configuration configuration)
Configuration
. configuration
- новое Configuration
SecurityException
- если у текущего потока нет Разрешения, чтобы установить Configuration
.getConfiguration()
public static Configuration getInstance(String type, Configuration.Parameters params) throws NoSuchAlgorithmException
Этот метод пересекает список зарегистрированных поставщиков систем обеспечения безопасности, запускающихся с самого привилегированного Провайдера. Возвращается новый объект Конфигурации инкапсуляция реализации ConfigurationSpi от первого Провайдера, который поддерживает указанный тип.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
type
- указанный тип Конфигурации. См. раздел Конфигурации в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для списка стандартных типов Конфигурации.params
- параметры для Конфигурации, которая может быть нулем.SecurityException
- если у вызывающей стороны нет разрешения, чтобы получить экземпляр Конфигурации для указанного типа.NullPointerException
- если указанный тип является нулем.IllegalArgumentException
- если указанные параметры не понимаются под реализацией ConfigurationSpi от выбранного Провайдера.NoSuchAlgorithmException
- если никакой Провайдер не поддерживает реализацию ConfigurationSpi для указанного типа.Provider
public static Configuration getInstance(String type, Configuration.Parameters params, String provider) throws NoSuchProviderException, NoSuchAlgorithmException
Возвращается новый объект Конфигурации инкапсуляция реализации ConfigurationSpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке провайдера.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
type
- указанный тип Конфигурации. См. раздел Конфигурации в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для списка стандартных типов Конфигурации.params
- параметры для Конфигурации, которая может быть нулем.provider
- провайдер.SecurityException
- если у вызывающей стороны нет разрешения, чтобы получить экземпляр Конфигурации для указанного типа.NullPointerException
- если указанный тип является нулем.IllegalArgumentException
- если указанный провайдер является нулем или пустой, или если указанные параметры не понимаются под реализацией ConfigurationSpi от указанного провайдера.NoSuchProviderException
- если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасности.NoSuchAlgorithmException
- если указанный провайдер не поддерживает реализацию ConfigurationSpi для указанного типа.Provider
public static Configuration getInstance(String type, Configuration.Parameters params, Provider provider) throws NoSuchAlgorithmException
Возвращается новый объект Конфигурации инкапсуляция реализации ConfigurationSpi от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
type
- указанный тип Конфигурации. См. раздел Конфигурации в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для списка стандартных типов Конфигурации.params
- параметры для Конфигурации, которая может быть нулем.provider
- Провайдер.SecurityException
- если у вызывающей стороны нет разрешения, чтобы получить экземпляр Конфигурации для указанного типа.NullPointerException
- если указанный тип является нулем.IllegalArgumentException
- если указанный Провайдер является нулем, или если указанные параметры не понимаются под реализацией ConfigurationSpi от указанного Провайдера.NoSuchAlgorithmException
- если указанный Провайдер не поддерживает реализацию ConfigurationSpi для указанного типа.Provider
public Provider getProvider()
У этого экземпляра Конфигурации только будет Провайдер, если он был получен через звонок Configuration.getInstance
. Иначе этот метод возвращает нуль.
public String getType()
У этого экземпляра Конфигурации только будет тип, если он был получен через звонок Configuration.getInstance
. Иначе этот метод возвращает нуль.
public Configuration.Parameters getParameters()
У этого экземпляра Конфигурации только будут параметры, если он был получен через звонок Configuration.getInstance
. Иначе этот метод возвращает нуль.
public abstract AppConfigurationEntry[] getAppConfigurationEntry(String name)
name
- имя, используемое, чтобы индексировать Конфигурацию.public void refresh()
Этот метод вызывает этот объект Конфигурации обновить/перезагрузить его содержание зависящим от реализации способом. Например, если эта Конфигурация объектно-ориентированные памяти ее записи в файле, вызывая refresh
может заставить файл быть перечитанным.
Реализация по умолчанию этого метода ничего не делает. Этот метод должен быть переопределен, если работа обновления поддерживается реализацией.
SecurityException
- если у вызывающей стороны нет разрешения, чтобы обновить его Конфигурацию.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.