ログインすると、MVC アプリケーションのホームページに移動する Web フォーム アプリケーションがあります。ログインの過程で、MVC アプリに移動する URL を作成しています。この URL には、暗号化されたユーザー ID を添付しています。問題は、この暗号化されたユーザー ID に「+」や「/」などの特殊文字が含まれている場合です。それはめちゃくちゃで、404ページに移動します。特殊文字がない場合は正常に機能し、正しいページに移動します。
これが私がURLを形成する方法です
Response.Redirect("http://mysite/UserRedirect/" + encryptedUserId)
MVC メソッド
[HttpGet]
public ActionResult UserRedirect(string id = "")
{
//Decrypts UserID, then takes you to the homepage
return("Index");
}
encryptedUserId に以下の例のような特殊文字が含まれていると、めちゃくちゃになります。
7hnQ+Nc= -> http://mysite/UserRedirect/7hnQ+Nc= ("+" sign)
また
E/VDb7l= -> http://mysite/UserRedirect/E/VDb71 ("/" sign)
それ以外の場合、以下のような特殊文字がない場合、正常に動作します
NIatmgg= -> http://mysite/UserRedirect/NIatmgg=
この問題は、アプリがサーバーにデプロイされているときに発生します。これにどのようにアプローチすればよいですか?
「/」があると、UserRedirect メソッドに到達しません。ありがとう