Anduvimos buscando en distintos espacios para así mostrarte la respuesta para tu dilema, si tienes dificultades puedes dejar tu comentario y contestaremos con gusto, porque estamos para servirte.
- 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
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
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, |
Devuelve un objeto de configuración del tipo especificado. |
static Configuration |
getInstance(String type, |
Devuelve un objeto de configuración del tipo especificado. |
static Configuration |
getInstance(String type, |
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