0

Pythonで記述された内部WebアプリケーションのためにApacheからLighttpdに移行することを検討しています。問題は、私がlibapache2-mod-auth-ntlm-winbind ...に依存していることです。これは、実際には十分にサポートおよび更新されたパッケージではないようです(ただし、実際にうまく機能しているためかもしれません)。

HTTP認証を処理するためにdjango自体を使用するために必要なものについての提案とヒントを探しています。これにより、私はWebサーバーにとらわれず、壮大な学習体験になる可能性があります。

いくつかの話題の懸念:

  1. カスタムアプリケーションに真のHTTP認証を実行させることは合理的ですか?
  2. ユーザーにパスワードの入力を求めずに、Windowsドメインコントローラーに接続されたPythonコードをこの種の認証に接続することは、どの程度関与していますか?
  3. NTLMは、LDAPを介したWindowsドメインコントローラーへのさらに別の接続を介した検索を停止できるように、ユーザーの詳細とグループメンバーシップへのアクセスを提供しますか?

コミュニティと共有できるこのテクニックを簡素化するモジュールを書けるようになりたいです。

4

1 に答える 1

1

部分的な答え:

NTLM認証を外部ヘルパーに渡すことができます(そして渡す必要があります)。基本的に、マシンにSambaをインストールし、構成し、ドメインに参加し、winbindを有効にしてから、おそらく「パイプ」モードで「ntlm_auth」ヘルパーバイナリを使用します。

NTLMセッションを認証するには、ドメインコントローラーへの安全なパイプが必要です。ドメインコントローラーには、資格情報(Samba /ドメインメンバーのマシンアカウントなど)が必要です。これがそこに到達するための最速のルートです。

Squid(Webキャッシュ)には、外部ヘルパーを使用してNTLM認証を実行するためのコードがあります。FreeRadiusも同様のことをします。

NTLM認証自体は、グループ情報を提供しません。winbindを実行している場合は、もちろん「wbinfo」の呼び出しを使用してユーザーグループを取得できます。

于 2010-09-24T13:16:45.853 に答える