【问题标题】:Open legacy application pages within MVC app在 MVC 应用程序中打开旧应用程序页面
【发布时间】:2015-06-02 11:32:12
【问题描述】:
我的客户有一个用 Classic ASP 编写的遗留应用程序。我正在使用带有 Razor 的 MVC 5 构建同一应用程序的新版本。
我有 MVC 5 登录页面。用户登录后,将显示菜单。一些菜单项指向遗留应用程序。当用户单击这些菜单项中的任何一个时,Classic ASP 页面应在同一浏览器窗口中打开。
这里有两个问题:
- MVC 页面标题和菜单栏应保持在顶部。
- 如何将 MVC 会话值传递给经典 ASP 页面?我不想使用查询字符串
【问题讨论】:
标签:
asp.net-mvc
asp.net-mvc-5
【解决方案1】:
如果您不想使用 QueryString,您可以 POST 表单数据、将值保存到数据库或进行某种会话劫持。
你可能想看看这个answer
但请记住(来自链接):
通常,存储在 Session 变量中的信息仅供内部应用程序使用,应该被认为是高度安全的。通常存储在 Session 对象中的内容包括登录状态、用户信息、系统信息以及许多其他潜在的安全项目,最终用户永远不会看到这些项目。鉴于存储在 Session 对象中的信息的安全性,安全性必须是最重要的问题。考虑到这一点,必须避免一些明显的会话共享问题解决方案,因为它们非常不安全。切勿将敏感信息放入 cookie、隐藏参数或 URL;并且您应该避免向浏览器返回安全或系统信息,除非绝对必要。