Package org.postgresql.sspi
Class SSPIClient
java.lang.Object
org.postgresql.sspi.SSPIClient
- All Implemented Interfaces:
ISSPIClient
Use Waffle-JNI to support SSPI authentication when PgJDBC is running on a Windows client and talking to a Windows server.
SSPI is not supported on a non-Windows client.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSSPIClient(PGStream pgStream, String spnServiceClass, boolean enableNegotiate) Instantiate an SSPIClient for authentication of a connection. -
Method Summary
Modifier and TypeMethodDescriptionvoidcontinueSSPI(int msgLength) Continue an existing authentication conversation with the back-end in response to an authentication request of type AUTH_REQ_GSS_CONT.voiddispose()Clean up native win32 resources after completion or failure of SSPI authentication.booleanTest whether we can attempt SSPI authentication.voidRespond to an authentication request from the back-end for SSPI authentication (AUTH_REQ_SSPI).
-
Field Details
-
SSPI_DEFAULT_SPN_SERVICE_CLASS
- See Also:
-
-
Constructor Details
-
SSPIClient
Instantiate an SSPIClient for authentication of a connection.
SSPIClient is not re-usable across connections.
It is safe to instantiate SSPIClient even if Waffle and JNA are missing or on non-Windows platforms, however you may not call any methods other than isSSPISupported().
- Parameters:
pgStream- PostgreSQL connection streamspnServiceClass- SSPI SPN service class, defaults to POSTGRES if nullenableNegotiate- enable negotiate
-
-
Method Details
-
isSSPISupported
public boolean isSSPISupported()Test whether we can attempt SSPI authentication. If false, do not attempt to call any other SSPIClient methods.- Specified by:
isSSPISupportedin interfaceISSPIClient- Returns:
- true if it's safe to attempt SSPI authentication
-
startSSPI
Respond to an authentication request from the back-end for SSPI authentication (AUTH_REQ_SSPI).- Specified by:
startSSPIin interfaceISSPIClient- Throws:
SQLException- on SSPI authentication handshake failureIOException- on network I/O issues
-
continueSSPI
Continue an existing authentication conversation with the back-end in response to an authentication request of type AUTH_REQ_GSS_CONT.- Specified by:
continueSSPIin interfaceISSPIClient- Parameters:
msgLength- Length of message to read, excluding length word and message type word- Throws:
SQLException- if something wrong happensIOException- if something wrong happens
-
dispose
public void dispose()Clean up native win32 resources after completion or failure of SSPI authentication. This SSPIClient instance becomes unusable after disposal.- Specified by:
disposein interfaceISSPIClient
-