2016-11-08 4 views
1

は、だから私は基本的に外部&すでに作成データベースを介してルーティングされ、ログイン&登録プロセスを必要とする新しいDjangoのプロジェクトを始めています。Djangoのログイン処理に外部データベーステーブルを使用できますか?

  1. ログログインのためにデータを挿入し、ユーザーを登録
  2. 有効であるかどうかを確認するために、ユーザーに:

    それはDjangoがある場合にのみ、Userモデルが外部データベーステーブルを使用することは可能です外部データベースのそのユーザー

残りのDjangoサーバーでローカルデータベースを使用したいと思います。

もしそうなら、誰かが例を提供したり、対象のドキュメントに私を導く可能性がどちらか?

+0

として1 AuthRouterを書きで

あなたのsettings.pyファイルでこの設定を指定する必要があります。 – e4c5

答えて

0

「はい、しかし、」

は何がドキュメントに探していることは「database router」と呼ばれています。 そこにあるドキュメントにauth appの例があります。

しかし、そこでは、このアプローチを検討する重大な欠点だ:

我々はモデルでデータベース間の関係を持つことができません。認証テーブルが別のデータベースにある場合、これは、Userモデルへの外部キーを必要とするすべてのotehrアプリケーションが問題に陥ることを意味します。関係チェック(SQLiteまたはMyISAM/MySQL)を実行しないdbを使用して関係を "偽造"することができます。箱から出して

、そのようなアプリケーションは以下のとおりです。セッション、持つAuthToken、および管理者(そしておそらくそれ以上)。

また、シングルサインオンソリューションは、django-sso、またはdjango-mama-cas + django-cas-ng、または商用Stormpathを使用することもできます。ジャンゴで複数のデータベースを使用する

1

最も簡単な方法は、データベース・ルーティングを使用することです。デフォルトでDjangoは単一のデータベースに固執しますが、より興味深いデータベースルーティングシステムを実装したい場合は、独自のデータベースルータを定義してインストールすることができます。

データベースルータは、DATABASE_ROUTERS設定を使用してインストールされます。あなたは何をしなければならないことはそのすべての答えはイエスで説明したDjangoのドキュメントDjango Multiple Database

関連する問題