2016-07-12 19 views
1

私のデータベースにはユーザーがいて、各ユーザーにIPアドレスがあります。私は自分のIPアドレスが自分のデータベースに存在するサイトのみのユーザーにアクセス権を与えなければなりません。ユーザーにはログインとパスワードはありません。彼らは電話番号、ID、詳細、IPアドレスを持っています。ユーザーがWebページを開いたときに、自分のIPアドレスを検出すると、DBに失われてアクセス権が与えられたり、アクセスが拒否されたりします。アクセスに成功すると、このユーザーをセッションに保存する必要があります。春のセキュリティ認証のみフィールド(ユーザーのIPアドレス)

これに春のセキュリティを使用できますか?

私は春のセキュリティを使用しようとしましたが、そのためにログインとパスワードが必要であることがわかりました。しかし、私のユーザーはログインとパスワードを持っていません。

答えて

0

あなたはできますが、私はあなたがすべきかどうかは分かりません。

最初に、一般的な使用の場合、IPベースの認証を使用することは実際には貧弱なセキュリティプラクティスです。ネットワーク上の1つの要素と1台のマシンの管理者だけがIPアドレスを変更して他人のふりをすることができます。

本当の理由があるとすれば、Springのセキュリティは簡単にできます。有効なAuthenticationを構築するためにIPアドレスを使用するカスタム認証処理フィルタをセットアップする必要があります。 AbstractAuthenticationProcessingFilterまたはAbstractPreAuthenticatedProcessingFilterに由来する可能性があります。

フィルタは重い作業を行い、完全に認証された認証トークンをクラスの静的メソッドから取得したSecurityContextに直接入れることができます。しかし春のセキュリティの方法は、Authenticationトークンにを入れ、それをAuthenticationManagerに渡し、カスタムAuthenticationProviderが完全に認証されたAuthenticationを構築するようにします。

関連する問題