Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 隐藏查询字符串参数_Asp.net Mvc 3_Query String_Query Parameters - Fatal编程技术网

Asp.net mvc 3 隐藏查询字符串参数

Asp.net mvc 3 隐藏查询字符串参数,asp.net-mvc-3,query-string,query-parameters,Asp.net Mvc 3,Query String,Query Parameters,我有一个创建记录的GET操作。因为页面是动态的,所以我不使用模型来保存数据。我开始做一些OAuth,只是稍后返回到create屏幕。为了将数据传回,我使用一个查询字符串重定向。我在GET操作中解析查询字符串,然后显示视图。问题是,查询字符串显示在浏览器中。这将显示伪敏感数据 由于我只使用查询字符串来传输数据,我想知道是否可以扔掉查询字符串以防止它显示在浏览器上 否则,有没有一种方法可以在不重定向的情况下执行另一个操作?我发现,如果我直接调用“其他”动作方法,它会试图找到原始动作的视图。我可以显式

我有一个创建记录的GET操作。因为页面是动态的,所以我不使用模型来保存数据。我开始做一些OAuth,只是稍后返回到create屏幕。为了将数据传回,我使用一个查询字符串重定向。我在GET操作中解析查询字符串,然后显示视图。问题是,查询字符串显示在浏览器中。这将显示伪敏感数据

由于我只使用查询字符串来传输数据,我想知道是否可以扔掉查询字符串以防止它显示在浏览器上


否则,有没有一种方法可以在不重定向的情况下执行另一个操作?我发现,如果我直接调用“其他”动作方法,它会试图找到原始动作的视图。我可以显式地改变<代码>返回视图(ViefMod)< /C>行> <代码>返回视图(“创建”,View Mead)但这看起来很脏。

< P>您应该考虑改变动作以接受POST请求。至少这样可以防止敏感信息出现在浏览器中。为了获得额外的安全性,您的站点应该通过SSL提供服务


您可以尝试的另一件事是加密敏感值或整个查询字符串。唯一的问题是,除非您要求用户登录,否则这也将保留在浏览器的历史记录中。

看起来您的操作方法试图做的事情太多了。身份验证/授权是一个单独的问题,不应作为操作方法的一部分。最好将身份验证工作移入到操作筛选器中

创建一个类,该类扩展授权属性并重写其OnAuthorization方法以执行授权工作


这将释放控制器操作方法来接受POST请求。

我无法重定向到POST。当OAuth进程返回时,它总是使用GET。似乎没有办法通过POST重定向。我是说,我可以在内部创建一个web请求。。。但这似乎太复杂了。OAuth是一种允许用户向其他网站授予对其信息访问权限的web标准。所以,我可以抓取用户的谷歌分析数据、推特数据或Facebook数据。在我的例子中,我请求一个叫做刷新令牌的东西,这样我就可以随时获取服务器上的数据。用户实际上并不是在我的系统中进行身份验证——他们只是授予我对他们数据的访问权。这与实际的控制器操作无关吗?在继续操作之前,您似乎需要该令牌。如果授权属性不适合您的需要,您仍然可以实现IActionFilter来执行这些操作。用户已登录。他们没有试图访问我的系统,我只是试图访问他们的数据。如果是这样,为什么不从oData服务获取值,创建一个模型,然后通过传递数据调用命名视图?重定向操作的额外优势是什么?