2015-02-24 170 views
0

嗨,我有这个需要用户登录的应用程序。 用户登录后,他被重定向到显示该用户文档的页面。使用MVC 5隐藏URL中的查询字符串5

要显示该信息,我在控制器上调用正确的操作,并传递我的用户对象。该对象包含用户名和密码。 当我看到我的网址,它看起来像:

http://localhost:53703/Documents?UserName=bart&UserId=10&Password=AllPhi%242015 

有没有办法,我可以隐藏这些查询字符串值(用户名= BART &用户ID = 10 &密码= AllPhi%242015)

+0

如果用户使用任何内置机制登录,则应通过控制器User-property访问用户,不需要将其传入。 – Daniel 2015-02-24 14:52:23

+0

@Daniel您的意思是控制器的用户属性? – 2015-02-24 14:54:47

+1

https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.user(v=vs.118).aspx – Daniel 2015-02-24 15:00:19

回答

2

我的方式不能足够强烈地回避内置的认证机制,但回答这个问题:你不能隐藏查询字符串。 如果你想隐藏数据,当你从客户端发送时,你需要做一个post请求而不是get,但post-data在请求中仍然可见(纯文本)

但是在这种情况下看起来你想在动作之间传递数据,然后你想使用tempdata。在此处查看以供参考:http://rachelappel.com/when-to-use-viewbag-viewdata-or-tempdata-in-asp.net-mvc-3-applications

+0

我已经使用TempData解决了我的问题 – 2015-02-24 15:27:34