私はASP.netで作成されたAzureでホストされているWebアプリケーションを持っています。これには、ユーザーログインページと別の管理ログインページがあります。使用されているデータベースはMySQLです。最近では、管理者のログインページは、どのマシンからでもアクセスできるユーザーログインページとは異なり、クライアントによって割り当てられる単一のマシンでのみアクセスできるようにするという新しい要件がクライアントによって追加されました。単一のマシンでAzure Webサイトにアクセスする
解決策の1つは、クライアントマシンのMACアドレスを取得してデータベースエントリと比較することでしたが、多くの検索を行った後、クライアントマシンのMACアドレスを取得する方法がないことがわかりました。クライアントとサーバーが同じサブネット上にある場合しかし、それは私の場合ではない、なぜならウェブアプリケーションは青空でホストされているからであり、クライアントマシンは世界のどこにでもある可能性があるからだ。
管理者クライアントマシンが動的IPアドレスを使用しているため、IPアドレスを使用して管理ポータルへのアクセスを制限することはできません。また、ユーザーログインのために他のユーザーマシンの使用を制限するため、SSL証明書も使用できません。
ワークフローは次のようになります。管理者はマシン上のブラウザでページを開き、ログイン情報を入力した後、そのページにアクセスしているマシンが管理ポータルにアクセスする権限を持っているかどうかを確認します。ですから、これを達成する方法はありますか?1台のマシンで管理者ログインを許可する方法はありますか?
クライアントマシンを識別する方法は複数あります。たとえば、クライアント証明書またはそのIPアドレスを使用できます。 [ask]を読んで研究を共有してください。 – CodeCaster
ありがとう、私はこれに関する更なる情報を更新しました。また、IPアドレスを使用して管理ポータルへのアクセスを制限することはできません。これは、管理クライアントマシンが動的IPアドレス上にあり、それが変更される可能性があるためです。また、ユーザーログインのために他のユーザーマシンの使用を制限するため、SSL証明書も使用できません。 –