1

現在、すべてのクライアントが資格情報を使用してアクセスおよびログインする典型的な Web アプリケーションがあります。

クライアントの 1 つは、資格情報を使用してログインすることを望んでいません。代わりに、URL でユーザー名、fname、lname を渡し、アカウントを持っている場合は自動的にログインする必要があります。それらをログインします。

Web アプリは、残りのクライアントに対して同じように動作する必要があります。どうすればこれを達成できますか。シングル サインオン方法 (SAML など) を使用する必要がありますか?

要件の概要:

リクエスト URL -> クライアントが A かどうかを判断します -> はいの場合は、URL に渡された値がデータベースに存在することを確認します -> はいの場合は自動的にログインします -> いいえの場合は、渡された値を使用してレコードを作成し、ログインします

---> クライアントが A でない場合は、ログイン画面に移動します

4

1 に答える 1

1

自動ログインを許可するために一部の URL 値のみに基づいて決定することを計画している場合は、ここで非常に重大なセキュリティの抜け穴を作成しています。

代わりに、システム管理者が一部の IP アドレスを特定のユーザーにマップする、構成可能なメカニズムが必要です。このようにして、ユーザーがページをリクエストしたときに、リクエストの送信元の IP が特定のクライアントに属しているかどうかを確認します。はいの場合は、ログインするか、ログイン画面に送信します。これはセキュリティ ホールでもありますが、より小さなものです。なぜなら、どの IP がユーザーにマップされているかを知り、何らかの IP スプーフィング ソフトウェアを使用するまで、人々はアクセスできないからです。

おそらく、URL キーと IP マッピングの二重チェックを行うことができます。これにより、より厳密になります。

最適なオプションは、ライブ ID 認証などのシングル サインオン テクノロジを使用することです。ただし、これにはさらに多くの労力が必要であり、ユーザーは最初に live-id でログインする必要があります。

編集 -->

カスタム認証メカニズムを使用している場合は、2 つのオプションがあります。 1. ログイン ページを変更してリクエスト IP を検出し、選択したユーザーを自動ログインさせる 2. リクエストの送信元と自動ログインをチェックする http ハンドラを作成するそれに応じて選択したユーザー。

私が話している「自動ログイン」にすべてが関係していることを理解していただければ幸いです。たとえば、セッション変数/ユーザー名の設定、ページへのユーザー名の表示など。

于 2012-11-09T07:17:06.753 に答える