2017-07-05 12 views
0

私はMVC 4 Webアプリケーションを開発しています。リクエスト文字列のパラメータが失われています

私は、許可された/許可されていない状況で変更されるURLを作成しようとしています。

私は、不正なユーザは、次のURLを生成しています:

http://localhost/vendas-web/Login?ReturnUrl=%2Fvendas-web%2FClienteNovo%2FIndex%299999

私がテストしたのは初めてで、それがうまく働きました。

しかし..私が試した二回目、クエリ文字列が...失われてしまったとurlはになって:私は匿名のタブ上のクロムに対してそれをテストする場合

http://localhost/vendas-web/Login

それはFINEで動作します。 最後のパラメータの値を変更すると、FINEが機能します。

これに関連するキャッシュがありますか?

私は間違っていますか?

スヨン、私の質問は:

どのように私は、どのシナリオでは、私の完全なURLを保ちますか?

のTy

+0

権限のないユーザーを別のページにリダイレクトしようとしていますか? –

答えて

0

私の問題は、私は、アプリケーションによってキャッシュを使用しないように、この注釈を使用しました...

キャッシュでした。

[OutputCache(NoStore = true, Duration = 0)] 
+0

あなたの問題を解決した場合は、受け入れられた回答として確認してください。 – Arashsoft

1

あり、十分な情報は、ここでは本当にないのですが、何あなたがそう話していると、ユーザーが許可する必要が初めて、彼らは自動的にReturnUrlビットを含む最初のURLにリダイレクトされていることです。これは、ログイン後にユーザーがそのURLにリダイレクトされるようにするためのフレームワークに組み込まれています。しかし、最初の最初のログインページへのリダイレクトをこれ以上続ける必要がある場合、それはあなたのものです。任意のリンクは手動でクエリ文字列のparam追加する必要があります。

@Url.Action("SomeAction", new { ReturnUrl = Request["ReturnUrl"] }) 

をし、任意のフォームは、隠し入力としてそれを含める必要があります、

@Html.Hidden("ReturnUrl", Request["ReturnUrl"]) 

そうでない場合は、はい、それは失われますので、リテラルURLます」今は要求しているがそれを含んでいない。それは魔法のように付加されているだけではありません。

関連する問題