|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface LoginModule
LoginModule описывает интерфейс, реализованный технологическими провайдерами аутентификации. LoginModules включаются в соответствии с приложениями, чтобы обеспечить определенный тип аутентификации.
В то время как приложения пишут в LoginContext API, технологические провайдеры аутентификации реализуют LoginModule интерфейс. A Configuration определяет LoginModule (s), чтобы использоваться с определенным приложением входа в систему. Поэтому различный LoginModules может быть включен в соответствии с приложением, не требуя никаких модификаций к приложению непосредственно.
LoginContext ответственно за чтение Configuration и инстанцирование соответствующего LoginModules. Каждый LoginModule инициализируется с a Subject, a CallbackHandler, совместно используемый LoginModule состояние, и опции LoginModule-specific. Subject представляет Subject в настоящий момент аутентифицироваться и обновляется с соответствующими Учетными данными, если аутентификация успешно выполняется. LoginModules используют CallbackHandler связываться с пользователями. CallbackHandler может использоваться, чтобы запросить имена пользователей и пароли, например. Отметьте что CallbackHandler может быть нуль. LoginModules, которые абсолютно требуют a CallbackHandler аутентифицировать Subject может бросить a LoginException. LoginModules дополнительно используют общее состояние, чтобы поделиться информацией или данными между собой.
Опции LoginModule-specific представляют опции, сконфигурированные для этого LoginModule администратором или пользователем во входе в систему Configuration. Опции определяются LoginModule непосредственно и управление поведение в пределах этого. Например, a LoginModule может определить опции, чтобы поддерживать возможности отладки/тестирования. Опции определяются, используя синтаксис значения ключа, такой как debug=true. LoginModule хранит опции как a Map так, чтобы значения могли быть получены, используя ключ. Отметьте, что нет никакого предела числу вариантов a LoginModule хочет определять.
Вызывающее приложение рассматривает процесс аутентификации как единственную работу. Однако, процесс аутентификации в пределах LoginModule продолжается в двух отличных фазах. В первой фазе, LoginModule login метод вызывается LoginContext login метод. login метод для LoginModule тогда выполняет фактическую аутентификацию (подсказка для, и проверьте пароль например), и сохраняет его состояние аутентификации как частную информацию о состоянии. После того, как законченный, LoginModule login метод любой возвраты true (если это успешно выполнялось), или false (если это должно быть проигнорировано), или бросает a LoginException определить отказ. В случае отказа, LoginModule не должен повторить аутентификацию или представить задержки. Ответственность таких задач принадлежит приложению. Если приложение пытается повторить аутентификацию, LoginModule login метод вызовут снова.
Во второй фазе, если полная аутентификация LoginContext, за которой следуют (соответствующий НЕОБХОДИМЫЙ, НЕОБХОДИМЫЙ, ДОСТАТОЧНЫЙ и ДОПОЛНИТЕЛЬНЫЙ LoginModules успешно выполнялся), то commit метод для LoginModule вызывается. commit метод для a LoginModule проверяет его конфиденциально сохраненное состояние, чтобы видеть если его собственная аутентификация, за которой следуют. Если полное LoginContext аутентификация успешно выполнялась и собственная аутентификация LoginModule, за которой следуют, тогда commit метод связывает соответствующие Принципалы (аутентифицируемые идентификационные данные) и Учетные данные (данные аутентификации, такие как криптографические ключи) с Subject расположенный в пределах LoginModule.
Если полная отказавшая аутентификация LoginContext (соответствующий НЕОБХОДИМЫЙ, НЕОБХОДИМЫЙ, ДОСТАТОЧНЫЙ и ДОПОЛНИТЕЛЬНЫЙ LoginModules не успешно выполнялся), то abort метод для каждого LoginModule вызывается. В этом случае, LoginModule удаляет/уничтожает любое состояние аутентификации, первоначально сохраненное.
Выход из системы a Subject включает только одну фазу. LoginContext вызывает LoginModule logout метод. logout метод для LoginModule тогда выполняет процедуры выхода из системы, такие как удаление Принципалов или Учетных данных от Subject или журналирование информации о сеансе.
A LoginModule у реализации должен быть конструктор без параметров. Это позволяет классы, которые загружаются LoginModule инстанцировать этого.
LoginContext, Configuration| Модификатор и Тип | Метод и Описание |
|---|---|
boolean |
abort()
Метод, чтобы прервать процесс аутентификации (фаза 2).
|
boolean |
commit()
Метод, чтобы фиксировать процесс аутентификации (фаза 2).
|
void |
initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
Инициализируйте этот LoginModule.
|
boolean |
login()
Метод, чтобы аутентифицировать a
Subject (фаза 1). |
boolean |
logout()
Метод, который выходит из системы a
Subject. |
void initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
Этот метод вызывают LoginContext после этого LoginModule был инстанцирован. Цель этого метода состоит в том, чтобы инициализировать это LoginModule с релевантной информацией. Если это LoginModule не понимает ни одних из данных, хранивших в sharedState или options параметры, они могут быть проигнорированы.
subject - Subject аутентифицироваться. callbackHandler - a CallbackHandler для того, чтобы связаться с конечным пользователем (запрашивающий имена пользователей и пароли, например). sharedState - состояние совместно используется с другим сконфигурированным LoginModules. options - опции определяются во входе в систему Configuration для этой детали LoginModule.boolean login()
throws LoginException
Subject (фаза 1). Реализация этого метода аутентифицирует a Subject. Например, это может запросить Subject информация, такая как имя пользователя и пароль и затем пытается проверить пароль. Этот метод сохраняет результат попытки аутентификации как частное состояние в пределах LoginModule.
LoginModule должен быть проигнорирован.LoginException - если аутентификация перестала работатьboolean commit()
throws LoginException
Этот метод вызывают если полная аутентификация LoginContext, за которой следуют (соответствующий НЕОБХОДИМЫЙ, НЕОБХОДИМЫЙ, ДОСТАТОЧНЫЙ и ДОПОЛНИТЕЛЬНЫЙ LoginModules, за которым следуют).
Если собственная попытка аутентификации этого LoginModule, за которой следуют (проверенное получение частного состояния, сохраненного login метод), тогда этот метод связывает соответствующие Принципалы и Учетные данные с Subject расположенный в LoginModule. Если собственная аутентификация этого LoginModule, предпринятая отказавший, то этот метод, removes/destroys любое состояние, которое было первоначально сохранено.
LoginModule должен быть проигнорирован.LoginException - если фиксация перестала работатьboolean abort()
throws LoginException
Этот метод вызывают если полная отказавшая аутентификация LoginContext. (соответствующий НЕОБХОДИМЫЙ, НЕОБХОДИМЫЙ, ДОСТАТОЧНЫЙ и ДОПОЛНИТЕЛЬНЫЙ LoginModules не успешно выполнялся).
Если собственная попытка аутентификации этого LoginModule, за которой следуют (проверенное получение частного состояния, сохраненного login метод), тогда этот метод очищает любое состояние, которое было первоначально сохранено.
LoginModule должен быть проигнорирован.LoginException - если аварийное прекращение работы перестало работатьboolean logout()
throws LoginException
Subject. Реализация этого метода могла бы удалить/уничтожить Принципалы Предмета и Учетные данные.
LoginModule должен быть проигнорирован.LoginException - если выход из системы перестал работать
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92