SSO プロジェクトに Kerberos 認証を統合しています。奇妙なシナリオに出くわしました。
新しいユーザーを作成し、SPN をアタッチしました。この質問の手順に従い、すべてが機能しました。私が意味するすべてによって:-
- kinit ユーザー名 - 次にパスワードを入力すると、チケットが保存されたというメッセージが表示されました。
- kinit spn(int 形式の HTTP/FQDN) - 次にパスワードを入力すると、チェックが保存されたというメッセージが表示されました。
しばらくして、これをもう一度やり直すことにしたので、コマンドを使用しました
setspn -D spn username
ユーザー名から spn を切り離します。次に、このユーザー (ユーザー名) を AD から削除しました。
次に、username1 という新しいユーザーを作成し、この質問に従って、この新しいユーザーに対して上記の手順と同じ spn を登録しました。
kinit username1 - パスワードを入力するとチケットが保存されたというメッセージが表示されましたが、kinit spn - パスワードを入力するとエラーが発生しました
client not found in Kerberos database.
別の(新しい)spnを使用すると、すべてが正常に機能することに注意してください。
問題は、Windows サーバーに特定のキャッシュがあり、このキャッシュが原因でこの spn を再度使用できないリンクがまだ存在するかどうかです。または、spn をユーザーから切り離す際に間違いを犯しましたか?
ありがとう、ニキル