# Uses of Interface
net.shibboleth.idp.authn.principal.PrincipalSupportingComponent

Packages that use PrincipalSupportingComponent
Package
Description
net.shibboleth.idp.authn
APIs related to the authentication of a subject.
net.shibboleth.idp.authn.context
Context classes for managing authentication-related state.
net.shibboleth.idp.authn.impl
Implementation of various authentication actions.
net.shibboleth.idp.authn.principal.impl
Implementation of functionality related to Java Principals.
net.shibboleth.idp.saml.saml2.profile.impl
Profile processing actions related to SAML 2 messages.

## Uses of PrincipalSupportingComponent in net.shibboleth.idp.authn

Classes in net.shibboleth.idp.authn that implement PrincipalSupportingComponent
Modifier and Type
Class
Description
`class`
`AbstractCredentialValidator`
An abstract `CredentialValidator` that handles some common behavior.
`class`
`AbstractUsernamePasswordCredentialValidator`
An abstract `CredentialValidator` that checks for a `UsernamePasswordContext` and delegates to subclasses to produce a result.
`class`
`AbstractValidationAction`
A base class for authentication related actions that validate credentials and produce an `AuthenticationResult`.
`class`
`AuthenticationFlowDescriptor`
A descriptor for an authentication flow.
`class`
`AuthenticationResult`
Describes an act of authentication.

## Uses of PrincipalSupportingComponent in net.shibboleth.idp.authn.context

Methods in net.shibboleth.idp.authn.context with parameters of type PrincipalSupportingComponent
Modifier and Type
Method
Description
`boolean`
AuthenticationContext.`isAcceptable(PrincipalSupportingComponent component)`
Helper method that evaluates a `PrincipalSupportingComponent` against a `RequestedPrincipalContext` child of this context, if present, to determine if the input is compatible with it.
`boolean`
PreferredPrincipalContext.`isAcceptable(PrincipalSupportingComponent component)`
Helper method that evaluates a `PrincipalSupportingComponent` against this context to determine if the input is compatible with it.
`boolean`
RequestedPrincipalContext.`isAcceptable(PrincipalSupportingComponent component)`
Helper method that evaluates a `PrincipalSupportingComponent` against this context to determine if the input is compatible with it.

## Uses of PrincipalSupportingComponent in net.shibboleth.idp.authn.impl

Classes in net.shibboleth.idp.authn.impl that implement PrincipalSupportingComponent
Modifier and Type
Class
Description
`class`
`AbstractAuditingValidationAction`
Base class for validation actions that includes new audit logging support.
`class`
`HTPasswdCredentialValidator`
A password validator that authenticates against Apache htpasswd files.
`class`
`JAASCredentialValidator`
A password validator that authenticates against JAAS.
`class`
`KerberosCredentialValidator`
A password validator that authenticates against Kerberos natively, with optional service ticket verification.
`class`
`LDAPCredentialValidator`
A password validator that authenticates against LDAP natively.
`class`
`ValidateCredentials`
An action that processes a list of `CredentialValidator` objects to produce an `AuthenticationResult`.
`class`
`ValidateExternalAuthentication`
An action that checks for an `ExternalAuthenticationContext` and directly produces an `AuthenticationResult` or records error state based on the contents.
`class`
`ValidateFunctionResult`
An action that executes a deployer-supplied function and produces an `AuthenticationResult` based on the function result.
`class`
`ValidateRemoteUser`
An action that checks for a `UsernameContext` and directly produces an `AuthenticationResult` based on that identity.
`class`
`ValidateUserAgentAddress`
An action that ensures that a user-agent address found within a `UserAgentContext` is within a given range and generates an `AuthenticationResult`.
`class`
`X509CertificateCredentialValidator`
A credential validator that validates an X.509 certificate.

## Uses of PrincipalSupportingComponent in net.shibboleth.idp.authn.principal.impl

Methods in net.shibboleth.idp.authn.principal.impl with parameters of type PrincipalSupportingComponent
Modifier and Type
Method
Description
`boolean`
ExactPrincipalEvalPredicateFactory.ExactMatchPredicate.`test(PrincipalSupportingComponent input)`
`boolean`
InexactPrincipalEvalPredicateFactory.InexactMatchPredicate.`test(PrincipalSupportingComponent input)`

## Uses of PrincipalSupportingComponent in net.shibboleth.idp.saml.saml2.profile.impl

Classes in net.shibboleth.idp.saml.saml2.profile.impl that implement PrincipalSupportingComponent
Modifier and Type
Class
Description
`class`
`ValidateSAMLAuthentication`
An action that produces an `AuthenticationResult` based on an inbound SAML 2.0 SSO response.