Отправка пользователем в Firefox
У меня есть такой запрос
Здесь
Мое приложение действует как серверная часть для проверки этого токена согласования.
Я кое-что слышал о GSSContext.
Я создал учетную запись службы и создал SPN для пользователя Strong>риким.
сейчас у меня есть доступ к браузеру с помощью someuser
Но я не могу это проверить, он всегда будет срабатывать, GssContext не установлен.
Это мой метод проверки токена Kerberos.
Код: Выделить всё
public static String verifyKerberosToken(String negotiateToken) {
try {
// Initialize LoginContext (this may not be necessary, but it can sometimes help)
LoginContext lc = new LoginContext("com.sun.security.jgss.krb5.accept");
lc.login();
// Process the token as before
if (negotiateToken.startsWith("Negotiate ")) {
negotiateToken = negotiateToken.substring("Negotiate ".length());
}
byte[] tokenBytes = Base64.getDecoder().decode(negotiateToken);
GSSManager gssManager = GSSManager.getInstance();
GSSContext gssContext = gssManager.createContext((GSSCredential) null);
gssContext.requestMutualAuth(false);
gssContext.requestCredDeleg(true);
gssContext.acceptSecContext(tokenBytes, 0, tokenBytes.length);
if (gssContext.isEstablished()) {
GSSName clientName = gssContext.getSrcName();
return "Authenticated principal: " + clientName.toString();
} else {
return "Failed to establish GSSContext with the provided Kerberos token.";
}
} catch (GSSException e) {
return "GSSException: " + e.getMessage();
} catch (LoginException e) {
return "LoginException: " + e.getMessage();
} catch (IllegalArgumentException e) {
return "Invalid Base64 encoding: " + e.getMessage();
}
}
У меня также есть конфигурация для krb5.conf и jaas.conf.
все, что я могу пропустил ??
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/791 ... er-in-java
Мобильная версия