でURLのGETパラメータを維持:ログインページにリダイレクトして、私は、このような電子メールで送信するURLを作成していsymfonyの2.8
$url = $this->getContainerInterface()->get('router')->generate(
'crmpiccobundle_view_subdomain_modify', [
'subdomain' => $site->getSubdomain(),
'subdomain_username' => $site->getSubdomain(),
], UrlGeneratorInterface::ABSOLUTE_URL),
URLは私のコントローラで、次の方法によって処理されていること:
/**
* @Route(
* "/view/{subdomain}/modify",
* name="crmpiccobundle_view_subdomain_modify"
*)
*
* @Security("is_granted('IS_AUTHENTICATED_FULLY')")
* @Template("CRMPiccoBundle:Admin/View/Modify:index.html.twig")
*
* @param Request $request
* @param string $subdomain
*
* @return array
*/
public function subdomainModifyViewAction(Request $request, string $subdomain)
{
したがって、ルート/view/{subdomain}/modify
には、ユーザーがログインしていない場合はログイン画面にキックされるという認証の意味が必要です。私が達成しようとしているのは、URL内のログインページ(例えば、/login?subdomain_username=crmpicco
)または他の手段によって、「サブドメイン」または「サブドメインユーザー名」(ここでは重複があることがわかります)を渡すことです。
スクリプトはcronで実行され、ブラウザでは実行されないため、セッション変数の設定は適切ではないと思います。
/view/crmpicco/modify?subdomain_username=crmpicco
から/login?subdomain_username=crmpicco
に行くことはできますか?
security.yml
:
access_control:
- {path: /, roles: IS_AUTHENTICATED_ANONYMOUSLY}
- {path: /admin, roles: ROLE_USER}
- {path: /admin/view, roles: ROLE_USER}
_ "セッション変数を設定するのは適していません。なぜなら、スクリプトはブラウザではなくcronによって実行されるからです。" - あなたはユーザーの電子メールを読んで内部のリンク...? – CBroe
@CBroeいいえ、AmazonのSQSキューを使用していますが、このメールを送信するようリクエストしています。そのキューが処理されると、コード内でメソッドが呼び出され、電子メールが送信されます。ログインURLに行くときにGETパラメータを維持する方法に関する提案はありますか? – crmpicco
セッションにターゲットURLを格納するか、パラメータとして追加します。 – CBroe