2016-10-25 6 views
1

から基本的に私は私がちょうどアプリケーション内の別の層としてのNode.jsを追加することができますが、私はPythonはイントラネット

というではないだろうパイソン/トルネード

ためhttps://github.com/einfallstoll/express-ntlmの代替を探していたクライアントのWindowsユーザーを取得します

+0

あなたは何をしに展開していますか? Apache/NGINX/IIS/etc? – sytech

+0

@sytech IISは私たちが今セットアップしているものですが、私はどんな提案もしています – Mojimi

+0

この情報はIIS環境変数から取得できます。私はまもなく答えを出します。 – sytech

答えて

1

IISは、Windows認証を処理してIISにデプロイする、あなたが取得することができます。これは、企業ネットワーク上のWebアプリでのみ利用可能に使用されます

URLにアクセスしてるクライアントのWindowsユーザーを取得する方法リモートユーザーは環境変数から。これは、Windows authenticationが有効で構成されていることを前提としています。

次に、変数を環境から簡単に取得できます。適用可能な環境変数Microsoft documentationに記載されているように、REMOTE_USER,AUTH_USER,LOGON_USERおよびUNMAPPED_REMOTE_USERが含まれる。特定の用途については、ドキュメントをチェックしてください。

はPythonでは、これらは、これは簡単なスクリプトを実行しているIIS 7.5を使用して、プロキシを使用している場合は、単にos.environ.get("REMOTE_USER")

でのPythonとユーザー名を取得することができたテスト済みos.environ で取得することができ、環境変数'HTTP_X_PROXY_REMOTE_USER'のように異なる場合があります。そのような環境変数を渡すようにサーバーを構成する必要があるかもしれません。

+0

申し訳ありませんが、私のためにはうまくいかなかった、ドキュメンテーションは環境変数ではなくサーバ変数であると言っています。 os.environを印刷すると表示されません – Mojimi

+0

@Mojimi IISがこれらの変数をアプリケーション設定のアプリケーション(WSGI)環境に渡すように設定する必要がありそうです。さらに、プロキシを使用する場合は、変数も明示的に許可する必要があります。 'wfastcgi.py'を使っている場合は、代わりに' os.getenv'を使ってみることもできます。 – sytech

関連する問題