3

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

1つの要件はCACアクセスであり、ユーザー名とパスワードを手動で入力する必要はありません。私の知る限り、CACアクセスはDjangoに含まれている「バッテリー」の一部ではありません。

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

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

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

4

3 に答える 3

2

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

詳細については、ドキュメントを参照してください。

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

于 2010-09-19T10:22:12.730 に答える
0

今日は、django.contrib.auth.middleware.RemoteUserMiddlewareをサブクラス化してこれを行い、ヘッダープロパティをapacheconfで設定したものに変更しました。django.contrib.auth.backends.RemoteUserBackendとミドルウェアを設定に追加したところ、完全に機能します。

于 2012-11-15T21:13:40.063 に答える
-1

contrib.authを拡張することは、首の痛みです。これは、djangoで最悪のことです。高度にカスタマイズされた認証バックエンドが必要な場合は、別のフレームワークを使用することをお勧めします。

于 2010-09-19T10:19:46.327 に答える