こんにちは、IBM Commerce Severを使用しています。以下のようなコードを使用して、あるビューから別のビューに移動します。
protected void prepareResponse(){
...
String returnUrl = "www.example.com/aNewPage.jsp?aUrlParameter=123&anotherParameter=654"
...
StringBuffer sb = new StringBuffer(returnUrl);
sb.append("&storeId=").append(commandContext.getStoreId());
sb.append("&langId=-1");
responseProperties.put(ECConstants.EC_REDIRECTURL, sb.toString());
responseProperties.put(ECConstants.EC_VIEWTASKNAME, ECConstants.EC_GENERIC_REDIRECTVIEW);
}
最終的に到達するURLはwww.example.com/aNewPage.jsp?krypto=ABCDF0LotsOfRandomCharactersです。残念ながら、サードパーティの統合により、JavaScriptが暗号化されていない形式のURLパラメータを探しているため、kryptoパラメータを復号化できません。
この動作はドキュメントによるものです:
入力パラメータをHttpRedirectViewのクエリ文字列にフラット化する リダイレクトビューコマンドに渡されるすべての入力パラメータはフラット化されます URLリダイレクト用のクエリ文字列に変換します。たとえば、入力が redirect viewコマンドには、次のプロパティが含まれています。 URL = "MyView?p1 = v1&p2 = v2"; ip1 = "iv1"; //元のコントローラーコマンドへの入力 ip2 = "iv2"; //元のコントローラコマンドへの入力 op1 = "ov1"; op2 = "ov2"; 上記の入力パラメータに基づいて、最終的なURLは次のようになります。 MyView?p1 = v1&p2 = v2&ip1 = iv1&ip2 = iv2&op1 = ov1&op2 = ov2 コマンドがSSLを使用する場合、パラメーターは暗号化されることに注意してください 最終的なURLは次のように表示されます MyView?krypto = encode_value_of“ p1 = v1&p2 = v2&ip1 = iv1&ip2 = iv2&op1 = ov1&op2 = ov2”
ここで質問:これらのURLパラメータが暗号化されないようにするにはどうすればよいですか?