質問

Pythonで書かれたWebアプリが計画されています。Djangoは、フレームワークとして主要な候補です。

要件の1つは、CACアクセスです。ユーザー名とパスワードを入力する必要性が必要です。私が伝えることができることから、CAC AccessはDjangoに含まれる「バッテリー」の一部ではありません。

モノリシックなフレームワーク(必ずしも悪い属性ではない)として、Djangoは、コアを変更すると、メンテナンスが高くなるための担当者を持っています。 DjangoサイトにCACアクセスを簡単に追加できますか?その後簡単に維持できますか?

それとも、別のPythonフレームワークを検討する必要がありますか?

参考までに。CACアクセスに関する興味深いプレゼンテーション リンク

役に立ちましたか?

解決

これを有効にするためにコアを変更する必要はありません。 Djangoはサードパーティの認証バックエンドをサポートしており、書くのはかなり簡単です。2つの方法をサポートするだけです。 get_userauthenticate. 。そのため、実装はCACインターフェイスを使用してこれらの操作を実行する必要があり、すべてが通常どおりに機能します。

見る ドキュメント 詳細については。

他の回答の後に編集されました なぜこれがDjangoでこれが難しいと言っているのかわかりません。はい、Djangoの多くの部分をカスタマイズするのは困難です。しかし、これは作られた特定の部分です 非常に 簡単。私はDjangoでいくつかの認証バックエンドを書きましたが、それらは本当にシンプルであるだけでなく、管理者を含むフレームワークの残りの部分で「ただ機能」しています。これを機能させるために他の何かを変更する必要はありません。

他のヒント

私は今日、これをdjango.contrib.auth.middleware.remoteusermiddlewareをサブクラス化して、ヘッダープロパティをApache confに設定したものに変更しました。 django.contrib.auth.backends.remoteuserbackendを設定に追加しただけで、完全に機能します。

contrib.authを伸ばすことは首の痛みです。それはダジャンゴで唯一の最悪のことです。高度にカスタマイズされたAUTHバックエンドが必要な場合は、別のフレームワークを使用することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top