Djangoで同じユーザーからの同時複数ログインを制限することについていくつかの質問を見つけましたが、私が探しているのは反対です. 複数の人がログインして特定の機能にアクセスできる「一般的なゲスト」ユーザーが必要です。実際の制限はありますか?このアプローチに大きな問題はありますか?
2 に答える
同じアカウントまたはセッションを共有している複数のユーザーについて尋ねる場合、これは非常に悪い考えです。django-guestを見たことがありますか?それはゲストユーザーアカウントを許可し、あなたが探しているものです。これは2つのデコレータを提供guest_allowed
しlogin_required
、ビューに適用できます。そのため、ユーザーは「一般的なゲスト」として表示できますが、ユーザーはある程度の制御を行い、それらを追跡できます。
また、Djangoには `class models.AnonymousUser'がありますが、これはログインしていないユーザーに与えられるステータスであり、おそらくあなたの後になります。
これが私がそれをする方法です:
マルチページフォームを作成します。
- ページ1-調査パスワード(入力されたパスワードが有効であることを確認するためのバリデーター/クリーンメソッド)
- ページ2-調査の質問
Djangoのフォームウィザードを使用します:https ://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard/
ウィザードはページ1を表示し、ユーザーがページ1に正しく答える(つまりパスワード)まで、ユーザーがページ2にアクセスできないようにします。そうすれば、ユーザーは有効なパスワードを持っていない限り、調査にアクセスできません。
このソリューションはdjangoの認証を使用せず、先に進むのを妨げるすべてのセッション関連のものを回避する必要があります。