Wir haben eine Enterprise-Klasse, Java-basierte Anwendung auf Windows, die wir Kerberos für Single Sign-On mit verwenden möchten.Java kinit Bestimmung Kleinbuchstaben Bereich von AD-Domäne
Wir sind nicht keine Kerberos-Konfigurationsdateien verwenden, wie krb5.conf
oder login.conf
, weil wir unsere Kunden so einfach halten möchten und robust wie möglich zu ändern.
Früher funktionierte es für einige Wochen gut, nur dass die meisten Leute ihr Windows-Passwort zur Authentifizierung erneut eingeben mussten. Ich werde wahrscheinlich später eine weitere Frage dazu stellen.
Nun bestimmt die Anwendung aus bestimmten Gründen, dass Kerberos prinicpal statt [email protected]
ist. Die Authentifizierung schlägt dann natürlich mit krb_error 41 Message stream modified
fehl. Wenn Sie sich abmelden, wird dieses Problem möglicherweise vorübergehend behoben.
Dies kann reproduziert werden, indem Sie die Lager kinit.exe (oder rufen Sie ihre Klasse) aus dem Java JDK. Da ich keine Informationen darüber gefunden habe, wie sich Kinit wirklich verhält, wenn er nicht mit einem Hauptnamen versehen ist, weiß ich nicht, wo ich nach irgendwelchen Ursachen suchen soll.