問題タブ [spring-security-kerberos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ケルベロス認証。欠陥のあるトークンが検出されました
kerberos (v1.0.1) 認証を使用して Web アプリケーションを開発しています。
私の目的は、Windows 認証 Active Directory (Windows Server 2008 R2) を介してログインを提供することです。
問題は、ブラウザーが Kerberos チケットではなくバックエンド NTLM チケットに送信することです。Wireshak を使用して、通信ワークフローを確認しました。
- バックエンドで休息の電話をかける
- 私へのアプリケーションサーバーの応答401
- ブラウザがアクティブ ディレクトリで kerberos サービスを呼び出し、TGS_REP を受信しました
- ブラウザーが Kerberos トークンを使用して REST サービスを呼び出すことを期待していましたが、代わりに NTLM トークンを受け取りました
JAVA で開発された私のバックエンド サービスは、次の例外をスローします。
編集1:
最初の問題は、IP を使用して SPN と KEYTAB を生成したことです。したがって、次の方法でキータブを作成しました。
次に、BE サーバーを DNS に追加しました
現時点では kerberos でログインでき、BE (Spring Boot) は kerberos のトークンの検証に成功していますが、 でユーザー情報をダウンロードできないため、回避策を講じてBeanKerberosLdapContextSource
を使用しました。DefaultSpringSecurityContextSource
誰かが信頼できるアイデアや参考文献を持っていますか?
ありがとう
java - Spring MVC + Angular JS を使用した Windows 認証
フロントエンドに Angular JS を使用し、Web サービスに Spring MVC を使用しています。SOA アーキテクチャに基づいて、フロントエンドとバックエンドが疎結合されています。
ログインページでユーザー名とパスワードを要求せずに、Windows 認証を使用して Web アプリケーションにログインしたいと考えています。
Spring Security Kerberos で攻撃を受けており、LDAP から認証してから、Spring JWT oAuth プロトコルを使用してさらに続行したいと考えています。
どこが欠けているのか、このアーキテクチャの堅牢な方法は何かを誰かが助けてくれますか?
PS:Spring MVC + Angular JS