可以从客户端查看从一个MVC控制器传递到另一个MVC控制器的参数吗?

时间:2013-03-02 07:25:38

标签: c# asp.net-mvc

基本安全。

控制器调用另一个控制器,传递一个参数

return RedirectToAction("VerifyEmail", "Account", new { userId = newUser.Id });

另一个控制器接收它

public ActionResult VerifyEmail(int userId)
        {
            int test = userId;
            return View();
        }

客户端可以查看参数吗?也就是说,它是否会在任何时间点出现在客户的机器上?

1 个答案:

答案 0 :(得分:1)

技术上它将出现在客户端的机器上。 RedirectToAction发送302响应,指示临时重定向,客户端(浏览器)通常将其解释为发出新GET请求的命令。

如果你运行小提琴,而你会看到这样的东西通过电线回来

HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=utf-8
Location: /Account/VerifyEmail?userId=12354
Server: Microsoft-IIS/8.0
X-AspNetMvc-Version: 4.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?    
X-Powered-By: ASP.NET
Date: Mon, 04 Mar 2013 17:45:32 GMT
Content-Length: 150
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/Account/VerifyEmail?userId=12354">here</a>.</h2>
</body></html>

接着(在我的情况下)作为GET请求

GET /Account/VerifyEmail?userId=12354 HTTP/1.1