2009-03-25 7 views
0

会社の内部ネットワークで使用するための簡単なナレッジベースのアプリケーションを作成する必要があります。エンドユーザのためにシンプルで速く使用するために、(私たちはとにかく信頼する内部ネットワークユーザにしか見えないので)部分的にすべてのログインをスキップして、自動的にドメインユーザ名をユーザから取得し、それはデータベースに保存されます(人々は手動で名前を入力する時間を無駄にしないようにしてください;彼らがアプリを使って浪費する時間は実際にそれを使用する可能性が高くなります)。djangoアプリケーションは、ユーザのウィンドウ(ドメイン名)を知ることは可能ですか?

したがって、サーバー上でそのような情報を取得することは可能ですか? Windowsのブラウザは、私がそこにいると信じることができるいくつかのヘッダーでそれを送信しますか?

答えて

2

IISとInternet Explorerを使用している場合、「統合Windows認証」(NTLM認証)を有効にすることができます。これにより、IEはドメインインフラストラクチャを使用してユーザーを自動的に認証します。自動ログイン後、環境変数LOGON_USERを使用してユーザー名にアクセスできます。この目的のためにApache(mod_ntlm)用のモジュールもありますが、その状態はわかりません。

おそらく、あなた自身がNTLM authenticationを実装しようとする可能性がありますが、これは確かに多くの作業になります。

それ以外

、合理的なブラウザは、ユーザー名を送信しませんので、手立てがないように思える...


EDIT:python-win32 extensionsまたはpython-ntlmは、トリックを行うことができると思われるが、チェックアウトthis thread。しかし、それをDjangoに統合する必要があります。

関連する問題