Spec-Zone .ru
спецификации, руководства, описания, API
|
Аутентификация JAAS выполняется сменным способом, таким образом, приложения Java могут остаться независимыми от базовых технологий аутентификации. Конфигурационная информация, такая как требуемая технология аутентификации определяется во времени выполнения. Источник конфигурационной информации (например, файл или база данных) до тока javax.security.auth.login. Реализация конфигурации. Значение по умолчанию Configuration
реализация от Sun Microsystems читает конфигурационную информацию из конфигурационных файлов, которые описываются в этом документе.
Конфигурационный файл входа в систему состоит из одной или более записей, каждого определения, какая базовая технология аутентификации должна использоваться для определенного приложения или приложений. Структура каждой записи является следующим:
<name used by application to refer to this entry> { <LoginModule> <flag> <LoginModule options>; <optional additional LoginModules, flags and options>; };
Таким образом каждая запись конфигурационного файла входа в систему состоит из имени, сопровождаемого одним или Более LoginModule-специфичными записями, где каждая LoginModule-специфичная запись завершается точкой с запятой, и вся группа LoginModule-специфичных записей включается в фигурные скобки. Каждая запись конфигурационного файла завершается точкой с запятой.
Как пример, конфигурационный файл входа в систему, используемый для учебного руководства по Аутентификации JAAS, содержит только одну запись, которая является
Sample { sample.module.SampleLoginModule required debug=true; };
Здесь, запись называют "Демонстрационной", и это - имя что учебное приложение Аутентификации JAAS (SampleAcn.java
) использование, чтобы обратиться к этой записи. Запись определяет, что LoginModule, который будет использоваться, чтобы сделать пользовательскую аутентификацию, является SampleLoginModule в sample.module
пакет и что этот SampleLoginModule обязан "успешно выполняться" для аутентификации, которую будут считать успешным. SampleLoginModule успешно выполняется, только если имя и пароль, предоставленное пользователем, является теми, это ожидает ("testUser" и "testPassword", соответственно).
Имя для записи в конфигурационном файле входа в систему является именем, что использование приложений, чтобы обратиться к записи, когда они инстанцируют LoginContext, как описано в Инстанцировании LoginContext в учебном руководстве по аутентификации JAAS. Имя может быть любым именем, которое разработчик приложений хочет использовать. Здесь, термин "приложение" относится к любому коду, делает вход в систему JAAS.
Указанные LoginModules (описанный ниже) используются, чтобы управлять процессом аутентификации. Аутентификация продолжает вниз список в точном определенном порядке, как описано здесь.
Подразделения каждой LoginModule-специфичной записи являются следующим:
Это определяет class, реализовывая требуемую технологию аутентификации. Определенно, class должен быть подклассом LoginModule class, который находится в javax.security.auth.spi
пакет. Типичный LoginModule может запросить и проверить имя пользователя и пароль, как делается SampleLoginModule (в sample.module
пакет) используемый для этих учебных руководств. Любой поставщик может обеспечить реализацию LoginModule, которую можно использовать. Некоторые реализации предоставляются JRE от Sun Microsystems. Можно просмотреть справочную документацию для различного LoginModules, всех в com.sun.security.auth
пакет:
Флаговое значение указывает, требуется ли успех предыдущего LoginModule, "необходим", "достаточный", или "дополнительный". Если есть только одна LoginModule-специфичная запись, поскольку есть в наших учебных руководствах, то флаг для нее должен "требоваться". Опции описываются более подробно здесь.
Если у указанной реализации LoginModule есть опции, которые могут быть установлены, Вы определяете любые требуемые значения опции здесь. Это - разделенный пробелом список значений, которые передают непосредственно к базовому LoginModule. Опции определяются LoginModule непосредственно, и управляют поведением в пределах этого. Например, LoginModule может определить опции, чтобы поддерживать возможности отладки/тестирования.
Корректный способ определить опции в конфигурационном файле при использовании соединения значения имени, например debug=true, где имя опции (в этом случае, "отладка") и значение (в этом случае, "истина") должно быть разделено, "равняется" символу.
Конфигурационный файл, который будет использоваться, может быть определен одним из двух способов:
Можно использовать a -Djava.security.auth.login.config
параметр командной строки интерпретатора, чтобы определить конфигурационный файл входа в систему, который должен использоваться. Мы используем этот подход для всех учебных руководств. Например, мы выполняем наш SampleAcn
приложение в учебном руководстве по Аутентификации JAAS, используя следующую команду, которая определяет, что конфигурационный файл sample_jaas.config
файл в текущем каталоге:
java -Djava.security.auth.login.config==sample_jaas.config sample.SampleAcn
Альтернативный подход к определению расположения конфигурационного файла входа в систему должен указать на свой URL как на значение a login.config.url.n
свойство в файле свойств безопасности. Файл свойств безопасности java.security
файл, расположенный в lib/security
каталог JRE.
Здесь, n указывает на последовательно пронумерованное целое число, запускающееся с 1. Таким образом, при желании, можно определить больше чем один конфигурационный файл входа в систему, указывая на URL одного файла для login.config.url.1
свойство, URL второго файла для login.config.url.2
свойство, и так далее. Если больше чем один конфигурационный файл входа в систему определяется (то есть, если n> 1), то файлы читаются и связываются в единственную конфигурацию.
Вот пример того, что должно было бы быть добавлено к файлу свойств безопасности, чтобы указать sample_jaas.config
конфигурационный файл входа в систему используется этим учебным руководством. Этот пример предполагает, что файл находится в C:\AcnTest
каталог на системе Microsoft Windows:
login.config.url.1=file:C:/AcnTest/sample_jaas.config(Отметьте, что URL всегда используют наклонные черты вправо, независимо от того, какую операционную систему пользователь выполняет.)