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