2009-08-19 36 views
0

嗨,我們正在使用IBM Commerce Sever使用以下代碼從一個視圖移動到另一個視圖。防止在IBM Commerce Server中對Url參數進行加密(Krypto)6

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 unfortunitly由於第三方一體化,我們的JavaScript尋找URL參數和職高的unencryptped形式它不能解密krypto參數。

這水煤漿是每documentation

 
Flattening input parameters into a query string for HttpRedirectView 

All input parameters that are passed to a redirect view command are flattened 
into a query string for URL redirection. For example, suppose that the input 
to the redirect view command contains the following properties: 
URL = "MyView?p1=v1&p2=v2"; 
ip1 = "iv1"; // input to orginal controller command 
ip2 = "iv2" ; // input to original controller command 
op1 = "ov1"; 
op2 = "ov2"; 
Based upon the preceding input parameters, the final URL is 
MyView?p1=v1&p2=v2&ip1=iv1&ip2=iv2&op1=ov1&op2=ov2 
Note that if the command is to use SSL, then the parameters are encrypted 
and the final URL appears as 
MyView?krypto=encrypted_value_of「p1=v1&p2=v2&ip1=iv1&ip2=iv2&op1=ov1&op2=ov2」 

現在的問題: 如何防止這些URL參數加密?

+0

SO上的WOW很少有IBM垃圾箱。在16個小時後對6個未回答的問題的看法。 – 2009-08-20 09:02:21

回答

0

加密的參數由wc-server.xml中的NonEncryptedParameters節點控制。將要保留在明文中的url參數添加到該節點意味着它們不會被加密。

<NonEncryptedParameters display="false"> 
    <Parameter name="storeId"/> 
    <Parameter name="langId"/> 
    <Parameter name="catalogId"/> 
    <Parameter name="categoryId"/> 
    <Parameter name="productId"/> 
</NonEncryptedParameters> 

我發現IBM's Forum答案和鏈接detaling其使用談到做這個高速緩存目的NonEncryptedParameters Node的。