9

問題 Node.jsでWindows認証を使用できるようにしたい。

IISがASP.NETでWindows認証を処理することは理解していますが、理解できないのは、node.jsから現在のクライアントWindowsユーザー名を取得する方法です。IIS経由で実行されていないことがわかります(そして、IISNodeルートを実際に下りたくありません)。

C ++ライブラリ/サービスを作成する必要がある場合でも、Node.jsを介してクライアントのWindowsユーザー名を取得する方法が必要です。

最初の考えは、ASP.NET内にWindows認証を使用するWebサービスをセットアップし、Web要求を使用してそのユーザーを取得できるようにすることでしたが、これはおそらく単純すぎることです。

ユーザーにユーザー名とパスワードを尋ねたくありません-これは要点を見逃しているからです。

私が見ることができるアイデア、考え、または場所はありますか?それともこれは不可能ですか?

注:これは閉じたイントラネット内にあり、Windows認証はActiveDirectoryとともにASP.NETアプリケーション内で使用されます。

4

1 に答える 1

1

アプローチ

要件の一部を見逃さない限り、Node.jsアプリケーションにリクエストを中継するようにIISWebサイトをセットアップできるはずです。

  • クライアントブラウザはIISサイトに対して認証します。
  • IISサイトは、認証された要求をNode.jsアプリに転送し、クライアントに戻します。

匿名アクセスを無効にし、IISサイトにはIWAのみを使用してください。

C#またはVBを使用してASP.NETで要求を中継する方法の例については、ASP.NETでの要求の中継を参照してください。また、ヘッダーまたはGET/POSTパラメーターを使用してユーザー名を渡す必要があります。

Response.AppendHeader("CustomUserNameHeader", Page.User.Identity.Name);

仮定

  • Node.jsアプリは、クライアントコンピューターにログインしているユーザーの名前を知っている必要があります。
  • Node.jsアプリにIISサイトからのみアクセスできるようにすることは可能です。そうしないと、ソリューションは完全に安全ではありません。
于 2012-11-15T02:39:11.727 に答える