| Modifier and Type | Class and Description |
|---|---|
| public static class | SpnegoAuthenticator.
This class gets a gss credential via a privileged action. |
| public static class | |
| public static class | SpnegoAuthenticator.
This class implements a hack around an incompatibility between the SPNEGO implementation in Windows and the SPNEGO implementation in Java 8 update 40 onwards. |
| Modifier and Type | Field and Description |
|---|---|
| private boolean | |
| private static final String | |
| private final Log | |
| private String | |
| private Pattern | |
| private boolean |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected boolean | doAuthenticate(Request
The request that triggered the authentication request, HttpServletResponse The response associated with the request response)Implements abstract org. Provided for sub-classes to implement their specific authentication mechanism. |
| public boolean | |
| protected String | getAuthMethod()
Implements abstract org. Return the authentication method, which is vendor-specific and not defined by HttpServletRequest. |
| public String | |
| public String | |
| protected void | initInternal()
Overrides org. Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method. |
| protected boolean | isPreemptiveAuthPossible(Request
The request to check for credentials request)Overrides org. Can the authenticator perform preemptive authentication for the given request? |
| public boolean | |
| public void | |
| public void | |
| public void | |
| public void |
| applyJava8u40Fix | back to summary |
|---|---|
| private boolean applyJava8u40Fix | |
| AUTH_HEADER_VALUE_NEGOTIATE | back to summary |
|---|---|
| private static final String AUTH_HEADER_VALUE_NEGOTIATE | |
| log | back to summary |
|---|---|
| private final Log log Hides org. | |
| loginConfigName | back to summary |
|---|---|
| private String loginConfigName | |
| noKeepAliveUserAgents | back to summary |
|---|---|
| private Pattern noKeepAliveUserAgents | |
| storeDelegatedCredential | back to summary |
|---|---|
| private boolean storeDelegatedCredential | |
| SpnegoAuthenticator | back to summary |
|---|---|
| public SpnegoAuthenticator() | |
| doAuthenticate | back to summary |
|---|---|
| protected boolean doAuthenticate(Request request, HttpServletResponse response) throws IOException Implements abstract org. Doc from org. Provided for sub-classes to implement their specific authentication mechanism.
| |
| getApplyJava8u40Fix | back to summary |
|---|---|
| public boolean getApplyJava8u40Fix() | |
| getAuthMethod | back to summary |
|---|---|
| protected String getAuthMethod() Implements abstract org. Doc from org. Return the authentication method, which is vendor-specific and not defined by HttpServletRequest. | |
| getLoginConfigName | back to summary |
|---|---|
| public String getLoginConfigName() | |
| getNoKeepAliveUserAgents | back to summary |
|---|---|
| public String getNoKeepAliveUserAgents() | |
| initInternal | back to summary |
|---|---|
| protected void initInternal() throws LifecycleException Overrides org. Doc from org. Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.
| |
| isPreemptiveAuthPossible | back to summary |
|---|---|
| protected boolean isPreemptiveAuthPossible(Request request) Overrides org. Doc from org. Can the authenticator perform preemptive authentication for the given request? | |
| isStoreDelegatedCredential | back to summary |
|---|---|
| public boolean isStoreDelegatedCredential() | |
| setApplyJava8u40Fix | back to summary |
|---|---|
| public void setApplyJava8u40Fix(boolean applyJava8u40Fix) | |
| setLoginConfigName | back to summary |
|---|---|
| public void setLoginConfigName(String loginConfigName) | |
| setNoKeepAliveUserAgents | back to summary |
|---|---|
| public void setNoKeepAliveUserAgents(String noKeepAliveUserAgents) | |
| setStoreDelegatedCredential | back to summary |
|---|---|
| public void setStoreDelegatedCredential(boolean storeDelegatedCredential) | |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv byte[] | |
| pack-priv GSSContext |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public byte[] |
| decoded | back to summary |
|---|---|
| pack-priv byte[] decoded | |
| gssContext | back to summary |
|---|---|
| pack-priv GSSContext gssContext | |
| AcceptAction | back to summary |
|---|---|
| public AcceptAction(GSSContext context, byte[] decodedToken) | |
| run | back to summary |
|---|---|
| public byte[] run() throws GSSException Implements java. Doc from java. Performs the computation. This method will be called by
| |
| Modifier and Type | Field and Description |
|---|---|
| private final GSSContext | |
| private final Realm | |
| private final boolean |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public Principal |
| gssContext | back to summary |
|---|---|
| private final GSSContext gssContext | |
| realm | back to summary |
|---|---|
| private final Realm realm | |
| storeDelegatedCredential | back to summary |
|---|---|
| private final boolean storeDelegatedCredential | |
| AuthenticateAction | back to summary |
|---|---|
| public AuthenticateAction(Realm realm, GSSContext gssContext, boolean storeDelegatedCredential) | |
| run | back to summary |
|---|---|
| public Principal run() Implements java. Doc from java. Performs the computation. This method will be called by
| |
It is not clear to me if Windows, Java or Tomcat is at fault here. I think it is Java but I could be wrong.
This hack works by re-ordering the list of mechTypes in the NegTokenInit token.
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public static void | |
| private void | |
| private boolean | |
| private int | |
| private boolean | |
| private String | |
| private boolean |
| SpnegoTokenFixer | back to summary |
|---|---|
| private SpnegoTokenFixer(byte[] token) | |
| fix | back to summary |
|---|---|
| public static void fix(byte[] token) | |
| fix | back to summary |
|---|---|
| private void fix() | |
| length | back to summary |
|---|---|
| private boolean length() | |
| lengthAsInt | back to summary |
|---|---|
| private int lengthAsInt() | |
| oid | back to summary |
|---|---|
| private boolean oid(String expected) | |
| oidAsString | back to summary |
|---|---|
| private String oidAsString() | |
| tag | back to summary |
|---|---|
| private boolean tag(int expected) | |