web-dev-qa-db-ja.com

宛先に基づくログイン後のデフォルトのリダイレクト

認証されたユーザーをサイトのプライベートエリアにリダイレクトするモジュールにカスタムルーティングとユーザーコントローラーがあります。

ユーザーがログインページからアクセスしている場合は正常に機能します。カスタムユーザーページのダッシュボードにリダイレクトされます。ただし、リンクからサイトにアクセスした場合は、ユーザーがリクエストしているページに移動してほしいです。

ユーザーが内部コンテンツへのリンクを共有することは一般的であり、ユーザーはログインしてダッシュボードからリンクにアクセスする必要があり、これが不快な原因となっています。

ユーザーページの合理的な簡単なルーティングと、ユーザーをuserPageにリダイレクトするモジュール内のコントローラーがあります。彼らが要求しているリンクに応じてリダイレクトしないようにする方法はありますか?

1
tanbog

共有リンクの「宛先」クエリパラメータを追加する必要があります。

例えば: https://www.drupal.org/user/login?destination=search/site/destinations

2

ページがアクセス拒否メッセージを提供していて、最初にそれらをログインさせたい場合、それはあなたが望むように思われるかもしれません r4032login

プロジェクトページが言うように:

HTTP 403エラーページをDrupal/user/loginページにリダイレクトします。オプションのメッセージは次のとおりです。

「アクセスが拒否されました。このページを表示するにはログインする必要があります。」

また、目的のページがurlクエリ文字列に追加されるため、ログインが成功すると、ユーザーは最初にアクセスしようとした場所に直接移動します。

2
greggles