1

私のサイトには、django のデフォルトの User モデルを使用する通常のユーザーがいますが、ある特定の機能については、これらのログインを保存せずに python-social-auth を使用してソーシャル アカウント (twitter、fb など) を使用してログインできるようにしたいと考えています。ユーザー モデル (アカウントが作成されず、特定の通常のユーザー タスクを実行する機能がない) およびセッション タイムアウトを使用するデータベース。

私はそれを行う方法を探しましたが、私の小さな研究は実を結びませんでした。何か案は?

概要:

  1. 通常のユーザーとソーシャルの分離 (ソーシャル認証されたユーザーができることを制限できるようにするため)
  2. ソーシャル認証されたユーザーのセッション タイムアウト
  3. ソーシャル認証されたユーザーのユーザー テーブルには追加されません (フットプリントなし)。
  4. オプション: ロギング用にソーシャル ユーザー名と ID を取得します。

ありがとう

4

2 に答える 2

1

python-social-auth設定を追加してカスタム ユーザー モデルを追加することで、ソーシャル ユーザーを差別化できますSOCIAL_AUTH_USER_MODELhttp://psa.matiasaguirre.net/docs/configuration/settings.html#user-modelで設定ドキュメントを確認してください

于 2014-04-26T16:27:38.230 に答える
0

django.contrib.auth.models.Groupと を使用して、この問題にアプローチしようとしdjango.contrib.auth.models.Permissionます。アプリの機能に対するカスタム権限を持つ 1 つの一般的なグループを作成し、すべての通常のユーザーをそれに追加します。

python-social-authデフォルトで作成されたアカウントを保存しますdjango.contrib.auth.models.Userが、権限なしで別のグループを作成します。

必要に応じて、ユーザーを通過し、有効期限が切れたユーザーを非アクティブ化/削除するスケジュールされたタスクを作成します ( cronjob または Celery を使用)。

于 2014-04-25T23:05:49.230 に答える