Class JaasSecurityRealm

    • Constructor Detail

      • JaasSecurityRealm

        public JaasSecurityRealm​(String entry)
        Construct a new instance.
        Parameters:
        entry - JAAS configuration file entry (must not be null)
      • JaasSecurityRealm

        public JaasSecurityRealm​(String entry,
                                 ClassLoader classLoader)
        Construct a new instance.
        Parameters:
        entry - JAAS configuration file entry (must not be null)
        classLoader - classLoader to use with LoginContext, this class loader must contain LoginModule CallbackHandler classes
      • JaasSecurityRealm

        public JaasSecurityRealm​(String entry,
                                 String jaasConfigFilePath)
        Construct a new instance.
        Parameters:
        entry - JAAS configuration file entry (must not be null)
        jaasConfigFilePath - path to JAAS configuration file
      • JaasSecurityRealm

        public JaasSecurityRealm​(String entry,
                                 String jaasConfigFilePath,
                                 ClassLoader classLoader)
        Construct a new instance.
        Parameters:
        entry - JAAS configuration file entry (must not be null)
        jaasConfigFilePath - path to JAAS configuration file
        classLoader - classLoader to use with LoginContext, this class loader must contain LoginModule CallbackHandler classes
      • JaasSecurityRealm

        public JaasSecurityRealm​(String entry,
                                 String jaasConfigFilePath,
                                 ClassLoader classLoader,
                                 CallbackHandler callbackHandler)
        Construct a new instance.
        Parameters:
        entry - JAAS configuration file entry (must not be null)
        jaasConfigFilePath - path to JAAS configuration file
        callbackHandler - callbackHandler to pass to LoginContext
        classLoader - classLoader to use with LoginContext, this class loader must contain LoginModule CallbackHandler classes
    • Method Detail

      • getRealmIdentity

        public RealmIdentity getRealmIdentity​(Principal principal)
        Description copied from interface: SecurityRealm
        Get a handle for to the identity for the given principal in the context of this security realm. Any validation / name mapping is an implementation detail for the realm. The identity may or may not exist. The returned handle must be cleaned up by a call to RealmIdentity.dispose().
        Specified by:
        getRealmIdentity in interface SecurityRealm
        Parameters:
        principal - the principal which identifies the identity within the realm (must not be null)
        Returns:
        the RealmIdentity for the provided principal (not null)
      • getCredentialAcquireSupport

        public SupportLevel getCredentialAcquireSupport​(Class<? extends Credential> credentialType,
                                                        String algorithmName,
                                                        AlgorithmParameterSpec parameterSpec)
                                                 throws RealmUnavailableException
        Description copied from interface: SecurityRealm
        Determine whether a credential of the given type and algorithm is definitely obtainable, possibly obtainable (for] some identities), or definitely not obtainable.
        Specified by:
        getCredentialAcquireSupport in interface SecurityRealm
        Parameters:
        credentialType - the exact credential type (must not be null)
        algorithmName - the algorithm name, or null if any algorithm is acceptable or the credential type does not support algorithm names
        parameterSpec - the algorithm parameters to match, or null if any parameters are acceptable or the credential type does not support algorithm parameters
        Returns:
        the level of support for this credential
        Throws:
        RealmUnavailableException - if the realm is not able to handle requests for any reason
      • getEvidenceVerifySupport

        public SupportLevel getEvidenceVerifySupport​(Class<? extends Evidence> evidenceType,
                                                     String algorithmName)
                                              throws RealmUnavailableException
        Description copied from interface: SecurityRealm
        Determine whether a given type of evidence is definitely verifiable, possibly verifiable (for some identities), or definitely not verifiable.
        Specified by:
        getEvidenceVerifySupport in interface SecurityRealm
        Parameters:
        evidenceType - the type of evidence to be verified (must not be null)
        algorithmName - the algorithm name, or null if any algorithm is acceptable or the evidence type does not support algorithm names
        Returns:
        the level of support for this evidence type
        Throws:
        RealmUnavailableException - if the realm is not able to handle requests for any reason
      • createLoginContext

        private LoginContext createLoginContext​(String entry,
                                                Subject subject,
                                                CallbackHandler callbackHandler)
                                         throws RealmUnavailableException
        Parameters:
        entry - login configuration file entry
        subject - classLoader to use with LoginContext, this class loader must contain LoginModule CallbackHandler classes
        callbackHandler - callbackHandler to pass to LoginContext
        Returns:
        the instance of LoginContext
        Throws:
        RealmUnavailableException