既存のピラミッドプロジェクトに認証を追加します。私が現在試みている最も単純なフォーム(後で消費する)は、すべてのページがHTTPForbiddenを呼び出すことです。例外ビューは/ loginです。これはログインの詳細を尋ね、成功するとrequest.refererをHTTPFoundとして返します。ログイン失敗後にrequest.referer値をリダイレクトする方法
これまでのところ、これはうまくいきました。これは、ユーザーがログインページで中断したときにアクセスしようとしていたページに戻すことです。
ログインページは、送信ボタンが付いた単純なHTMLフォームです。
ユーザーがユーザー名またはパスワードを誤って入力した場合、「パスワードが間違っています」というエラーメッセージが表示されたログインページに戻りたいとします。その場合、request.refererはPageAではなくログインページになります。
ユーザーが最終的にログインに成功すると、ページA(またはそのURL)ページAに戻る?セッションはこのようなものに使われているのですか?それを実装するセッション以外の方法がありますか?私は(まだ)この単純なページのためのセッションを持っていませんし、1回のパスで異なるコンポーネントを追加することを避けようとしています。
お返事ありがとうございます。私が予想していたよりずっと簡単です。私が持っている唯一の兆候は、URLでユーザーが見ることができる(例:_queryを使用してURLをコピーして貼り付けたが、不完全な場合など) –
あなたの発言を含めるために回答を編集しました。私の答えがあなたに合っていれば、それを "受け入れられた"とマークさせます;) – LiGhTx117
渡されたパラメータ* next *が 'is_safe_url'チェックを通過することを確認してください。さもなければjavascript:alert( 'xxx')のようなものを渡して、あなたのサイトでこの潜在的なXSS脆弱性を渡すことができます。 Djangoにインスピレーションを求めてくださいhttps://docs.djangoproject.com/en/1.9/_modules/django/utils/http/ –