Interface TomcatPrincipal
-
- All Superinterfaces:
java.security.Principal
- All Known Implementing Classes:
GenericPrincipal
,UserDatabaseRealm.UserDatabasePrincipal
public interface TomcatPrincipal extends java.security.Principal
Defines additional methods implemented byPrincipal
s created by Tomcat's standardRealm
implementations.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.lang.Object
getAttribute(java.lang.String name)
Returns the value of the named attribute as anObject
, ornull
if no attribute of the given name exists, or ifnull
has been specified as the attribute's name.default java.util.Enumeration<java.lang.String>
getAttributeNames()
Returns anEnumeration
containing the names of the attributes available to this Principal.org.ietf.jgss.GSSCredential
getGssCredential()
java.security.Principal
getUserPrincipal()
void
logout()
Calls logout, if necessary, on any associated JAASLoginContext and/or GSSContext.
-
-
-
Method Detail
-
getUserPrincipal
java.security.Principal getUserPrincipal()
- Returns:
- The authenticated Principal to be exposed to applications.
-
getGssCredential
org.ietf.jgss.GSSCredential getGssCredential()
- Returns:
- The user's delegated credentials.
-
logout
void logout() throws java.lang.Exception
Calls logout, if necessary, on any associated JAASLoginContext and/or GSSContext. May in the future be extended to cover other logout requirements.- Throws:
java.lang.Exception
- If something goes wrong with the logout. Uses Exception to allow for future expansion of this method to cover other logout mechanisms that might throw a different exception to LoginContext
-
getAttribute
default java.lang.Object getAttribute(java.lang.String name)
Returns the value of the named attribute as anObject
, ornull
if no attribute of the given name exists, or ifnull
has been specified as the attribute's name.Only the servlet container may set attributes to make available custom information about a Principal or the user it represents.
The purpose of the method is to implement read only access to attributes which may be stored in the
Realm
implementation's backend due to its inherent design.As using this method from application code will make it non portable to other EE compliant containers, it is advised this should never be used as an object storage facility tied to the
Principal
, but rather as simple extra additional metadata. It is recommended that a container level object is used to further process the attributes that may be associated with thePrincipal
.Realm
implementations that are provided by Tomcat will not provide complex type mapping, but will in most cases always return a result as aString
object which may need custom decoding.Realm
implementations that are provided by Tomcat will not provide an implementation for this facility unless it is inherent to the storage backend of theRealm
itself and metadata is available without additional user intervention or configuration.- Parameters:
name
- aString
specifying the name of the attribute- Returns:
- an
Object
containing the value of the attribute, ornull
if the attribute does not exist, or ifnull
has been specified as the attribute's name
-
getAttributeNames
default java.util.Enumeration<java.lang.String> getAttributeNames()
Returns anEnumeration
containing the names of the attributes available to this Principal. This method returns an emptyEnumeration
if the Principal has no attributes available to it.- Returns:
- an
Enumeration
of strings containing the names of the Principal's attributes
-
-