我有一个像
这样的控制方法public ViewResult MyMethod(long id, string pId)
{
}
我有一个像
这样的查询字符串 ?'id=' + 10 + '&pId=' + 15
我希望使用某种加密算法对其进行加密,之后我会以某种格式查询,例如
gaiSXZyTAq6Z0a5TzsrdG2LjIj0moe2m4D0qQiG7zuQ=
我在开始请求中从Global.asax
解密,能够解密并设置查询字符串所有键但控制器无法获取其参数值
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Convert.ToString(Request.QueryString)))
{
var newQueryString = SecurityEncryption.DecryptionValue(HttpUtility.UrlDecode(Convert.ToString(Request.QueryString)).Replace(" ", "+"));
Request.QueryString.AllKeys[0] = newQueryString;
}
}
我希望Controller Method获取其参数值,我该如何实现?
请任何人帮助我。
答案 0 :(得分:0)
我发现sollution我解密了我的基本控制器
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var queryStringQ = Server.UrlDecode(filterContext.HttpContext.Request.QueryString["q"]);
if (!string.IsNullOrEmpty(queryStringQ))
{
// Decrypt query string value
var queryParams = DecryptionMethod(queryStringQ);
}
}