|
@@ -24,8 +24,6 @@ import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
import javax.security.auth.Subject;
|
|
import javax.security.auth.Subject;
|
|
-import javax.security.auth.kerberos.KerberosKey;
|
|
|
|
-import javax.security.auth.kerberos.KerberosTicket;
|
|
|
|
import javax.security.auth.login.AppConfigurationEntry;
|
|
import javax.security.auth.login.AppConfigurationEntry;
|
|
import javax.security.auth.login.Configuration;
|
|
import javax.security.auth.login.Configuration;
|
|
import javax.security.auth.login.LoginContext;
|
|
import javax.security.auth.login.LoginContext;
|
|
@@ -272,8 +270,8 @@ public class KerberosAuthenticator implements Authenticator {
|
|
AccessControlContext context = AccessController.getContext();
|
|
AccessControlContext context = AccessController.getContext();
|
|
Subject subject = Subject.getSubject(context);
|
|
Subject subject = Subject.getSubject(context);
|
|
if (subject == null
|
|
if (subject == null
|
|
- || (subject.getPrivateCredentials(KerberosKey.class).isEmpty()
|
|
|
|
- && subject.getPrivateCredentials(KerberosTicket.class).isEmpty())) {
|
|
|
|
|
|
+ || (!KerberosUtil.hasKerberosKeyTab(subject)
|
|
|
|
+ && !KerberosUtil.hasKerberosTicket(subject))) {
|
|
LOG.debug("No subject in context, logging in");
|
|
LOG.debug("No subject in context, logging in");
|
|
subject = new Subject();
|
|
subject = new Subject();
|
|
LoginContext login = new LoginContext("", subject,
|
|
LoginContext login = new LoginContext("", subject,
|