java.lang.Objectjavax.security.auth.login.Configuration

Subclases conocidas directas:
ConfigFile
public abstract class Configuration
extends Object

Un objeto de configuración es responsable de especificar qué módulos de inicio de sesión se deben utilizar para una aplicación en particular y en qué orden se deben invocar los módulos de inicio de sesión.

Una configuración de inicio de sesión contiene la siguiente información. Tenga en cuenta que este ejemplo solo representa la sintaxis predeterminada para el Configuration. Las implementaciones de subclase de esta clase pueden implementar sintaxis alternativas y pueden recuperar la Configuration de cualquier fuente, como archivos, bases de datos o servidores.

      Name 
            ModuleClass  Flag    ModuleOptions;
            ModuleClass  Flag    ModuleOptions;
            ModuleClass  Flag    ModuleOptions;
      ;
      Name 
            ModuleClass  Flag    ModuleOptions;
            ModuleClass  Flag    ModuleOptions;
      ;
      other 
            ModuleClass  Flag    ModuleOptions;
            ModuleClass  Flag    ModuleOptions;
      ;
 

Cada entrada en el Configuration está indexado a través de un nombre de aplicación, Nombrey contiene una lista de LoginModules configurados para esa aplicación. Cada LoginModule se especifica a través de su nombre de clase completo. La autenticación avanza por la lista de módulos en el orden exacto especificado. Si una aplicación no tiene una entrada específica, por defecto es la entrada específica para “otro“.

los Bandera value controla el comportamiento general a medida que la autenticación avanza en la pila. Lo siguiente representa una descripción de los valores válidos para Bandera y su respectiva semántica:

1)Required-TheLoginModule is required tosucceed.If it succeeds or fails, authentication still continues
                      toproceed down the LoginModule list.2)Requisite-TheLoginModule is required tosucceed.If it succeeds, authentication continues down the
                      LoginModulelist.  If it fails,
                      control immediately returns tothe application
                      (authentication does not proceed down the
                      LoginModule list).3)Sufficient-TheLoginModule is not required tosucceed.If it does succeed, control immediately
                      returns tothe application (authentication does not
                      proceed down the LoginModule list).If it fails, authentication continues down the
                      LoginModule list.4)Optional-TheLoginModule is not required tosucceed.If it succeeds or fails,
                      authentication still continues toproceed down the
                      LoginModule list.

La autenticación general tiene éxito solo si todos Requerido y Requisito Los módulos de inicio de sesión tienen éxito. Si un SuficienteLoginModule está configurado y tiene éxito, entonces solo el Requerido y Requisito Módulos de inicio de sesión anteriores a eso SuficienteLoginModule debe haber tenido éxito para que la autenticación general tenga éxito. Si no Requerido o Requisito Los módulos de inicio de sesión están configurados para una aplicación, luego al menos uno Suficiente o OpcionalLoginModule debe tener éxito.

ModuleOptions es una lista separada por espacios de LoginModule-valores específicos que se pasan directamente a los LoginModules subyacentes. Las opciones están definidas por el LoginModule sí mismo, y controlar el comportamiento dentro de él. Por ejemplo, un LoginModule puede definir opciones para admitir capacidades de depuración / prueba. La forma correcta de especificar opciones en el Configuration es mediante el siguiente emparejamiento clave-valor: debug = “verdadero”. La clave y el valor deben estar separados por un símbolo “igual”, y el valor debe estar entre comillas dobles. Si aparece una cadena en el formulario $ system.property en el valor, se expandirá al valor de la propiedad del sistema. Tenga en cuenta que no hay límite para el número de opciones que un LoginModule puede definir.

Lo siguiente representa un ejemplo Configuration entrada basada en la sintaxis anterior:

 Login 
   com.sun.security.auth.module.UnixLoginModule required;
   com.sun.security.auth.module.Krb5LoginModule optional
                   useTicketCache="true"
                   ticketCache="$user.home$/tickets";
 ;
 

Esta Configuration especifica que una aplicación denominada “Inicio de sesión” requiere que los usuarios se autentiquen primero en el com.sun.security.auth.module.UnixLoginModule, que se requiere para tener éxito. Incluso si el UnixLoginModule la autenticación falla, el com.sun.security.auth.module.Krb5LoginModule todavía se invoca. Esto ayuda a ocultar la fuente del fracaso. Desde el Krb5LoginModule es Opcional, la autenticación general tiene éxito solo si el UnixLoginModule (Requerido) tiene éxito.

También tenga en cuenta que las opciones específicas de LoginModule, useTicketCache = “verdadero” y ticketCache = $ user.home $ / tickets “, se pasan al Krb5LoginModule. Estas opciones instruyen al Krb5LoginModule para usar la caché de tickets en la ubicación especificada. Las propiedades del sistema, user.home y / (file.separator), se expanden a sus respectivos valores.

Solo hay un objeto de configuración instalado en el tiempo de ejecución en un momento dado. Se puede instalar un objeto de configuración llamando al setConfiguration método. El objeto de configuración instalado se puede obtener llamando al getConfiguration método.

Si no se ha instalado ningún objeto de configuración en el tiempo de ejecución, una llamada a getConfiguration instala una instancia de la implementación de configuración predeterminada (una implementación de subclase predeterminada de esta clase abstracta). La implementación de la configuración predeterminada se puede cambiar estableciendo el valor de la login.configuration.provider propiedad de seguridad al nombre completo de la implementación de la subclase de configuración deseada.

El código de la aplicación puede subclasificar directamente la Configuración para proporcionar una implementación personalizada. Además, se puede construir una instancia de un objeto de configuración invocando uno de los getInstance métodos de fábrica con un tipo estándar. El tipo de política predeterminado es “JavaLoginConfig”. Consulte la sección Configuración en el Especificación de nombres de algoritmos estándar de seguridad de Java para obtener una lista de los tipos de configuración estándar.

Ya que:
1.4
Ver también:
LoginContext, security properties

Resumen de clases anidadas

Clases anidadas
Modificador y tipo Clase Descripción
static interface  Configuration.Parameters Esto representa una interfaz de marcador para los parámetros de configuración.

Resumen del constructor

Constructores
Modificador Constructor Descripción
protected Configuration() Constructor único.

Resumen del método

Modificador y tipo Método Descripción
abstract AppConfigurationEntry[] getAppConfigurationEntry​(String name) Recupere AppConfigurationEntries para el especificado name de esta configuración.
static Configuration getConfiguration() Obtenga la configuración de inicio de sesión instalada.
static Configuration getInstance​(String type,
Configuration.Parameters params)
Devuelve un objeto de configuración del tipo especificado.
static Configuration getInstance​(String type,
Configuration.Parameters params,
String provider)
Devuelve un objeto de configuración del tipo especificado.
static Configuration getInstance​(String type,
Configuration.Parameters params,
Provider provider)
Devuelve un objeto de configuración del tipo especificado.
Configuration.Parameters getParameters() Devolver los parámetros de configuración.
Provider getProvider() Devuelva el proveedor de esta configuración.
String getType() Devuelve el tipo de esta configuración.
void refresh() Actualice y vuelva a cargar la configuración.
static void setConfiguration​(Configuration configuration) Establecer el inicio de sesión Configuration.

Métodos declarados en la clase java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Detalles del constructor