【问题标题】:how to access the http and https in the same page in asp.net?如何在asp.net的同一页面中访问http和https?
【发布时间】:2011-05-26 10:09:39
【问题描述】:

我正在创建一个网站,其中包含受密码保护的页面。

我有两种类型的客户:1. 普通 2. 安全

对于安全客户,页面将通过 HTTPS 呈现,而对于普通客户,页面将通过 HTTP 呈现。 但是,两种类型用户的页面会相同,但内容会发生变化。

请注意,除了 HTTP/HTTPS 部分之外,两个用户的 URL 应该相同。

任何人都可以建议如何构建应用程序,以便同一页面同时充当 http 和 https 吗?

还想知道,有时当我们浏览一些 HTTPS 页面时,很少有像图片这样的项目是通过 HTTP 引用的,那么我们会在地址栏中看到一个叉号,表示某些资源没有通过 HTTPS。

我们如何克服这个问题,有什么建议吗?

【问题讨论】:

    标签: asp.net http https


    【解决方案1】:

    这应该没问题,当用户登录时,将他们重定向到https:// 页面。只需使用相同的页面地址,只需更改方案(http 或 https)即可。

    为避免在选择 http 或 https 时出现问题(例如在您提到的图像 URL 中),请尽可能使用相对 URL,而不是绝对 URL。因此,如果您在https://test.com/index.html 上并希望在图像目录中显示图像,请使用/images/test.jpg(相对)而不是https://images/test.jpg(绝对)。

    如果你必须使用绝对,你可以使用方案相对的 url - 例如//images/test.jpg 如果当前页面使用 HTTP,则使用 HTTP,如果页面使用 HTTPS,则使用 HTTPS。

    有关详细信息,请参阅 this questionthis one

    【讨论】:

    • 你能解释一下如何构建网站以同时作为 http 和 https 执行吗?在 web.config 中需要做哪些更改?(我想是的)如果网站已配置为安全所有页面都将作为安全页面。那么如何将页面呈现为http?还有如何在 https 中访问 http 路径中的图像?
    • @ammu:我认为您不需要以任何不同的方式构建站点,但是如果可以通过 HTTP 和 HTTPS 访问页面,那么您显然将无法在web.config 拒绝未经身份验证的用户访问页面。您需要手动进行所有这些检查并相应地更改页面。我不确定您对图像的含义,图像仅存在于路径上,而不是“在” http 或 https 中。使用相对或架构相对 URL 链接到图像。
    猜你喜欢
    • 2014-12-15
    • 1970-01-01
    • 2010-10-11
    • 2012-12-29
    • 1970-01-01
    • 2019-01-26
    • 2019-01-03
    • 2012-07-03
    • 1970-01-01
    相关资源
    最近更新 更多