リポジトリを作成して表示するためのWebインターフェイスを備えた学校用のgitサーバーをセットアップするプロジェクトがあります。この Web パーツは、ユーザーを認識している Django によって処理されます。
ここで問題: 認証でプライベート リポジトリをプルおよびプッシュしたいのですが、SSH を使用してその部分を処理することはできません (IT 担当者はそのサポートを望んでいません)。HTTP プロトコルは「複雑な WebDAV」なしで読み取り専用であり (公式ドキュメントによると)、認証として .htaccess を使用します。.htaccess の問題は、Django でそれらを管理することです。Django ユーザーのハッシュを使用しようとしましたが、機能しませんでした。最後に、Git プロトコルは読み書き可能ですが、認証がありません。
要約:
- Django のユーザー データベースにリンクされた認証が必要です。(同じデータを持つ場所が複数になるのを避けるため)
- SSHなし
- WebDAV と .htaccess を避ける
これらの制約により、認証を処理するために git デーモン ( github のコード) を書き直すことがアイデアになることがわかりましたが、Git クライアントがそれにどのように反応するかはわかりません。
別のアイデアがある場合、または WebDAV/.htaccess/... を使用した方がよいという意見があれば、喜んでお知らせします。