如何在asp.net的同一页面中访问http和https?

问题描述

| 我正在创建一个网站,其中包含受密码保护页面我有两种类型的客户:1.普通2.有担保 对于受保护的客户,页面将通过HTTPS呈现,而对于普通客户,页面将通过HTTP呈现。 但是,这两种类型的用户页面都相同,但是内容将更改。 请注意,除了HTTP / HTTPS部分外,两个用户的URL应该相同。 任何人都可以建议如何构造应用程序,以使同一页面同时充当http和https吗? 我们也想知道,有时当我们浏览一些HTTPS页面并且很少通过HTTP引用诸如image之类的项目时,我们会在地址栏中看到一个叉,指示某些资源未通过HTTPS。 有什么建议可以解决这个问题吗?     

解决方法

这很好,当用户登录时,将他们重定向到“ 0”页面。只需使用相同的页面地址,只需更改方案(http或https)即可。 为避免在http或https之间进行选择时出现问题(例如,在您提到的图像URL中),请尝试尽可能使用相对URL而不是绝对URL。因此,如果您使用的是
https://test.com/index.html
,并且想在images目录中显示图片,请使用
/images/test.jpg
(相对)而不是
https://images/test.jpg
(绝对)。 如果必须使用绝对地址,则可以使用相对于方案的url-例如,如果当前页面使用HTTP,则
//images/test.jpg
将使用HTTP;如果页面使用HTTPS,则将使用HTTPS。 有关更多详细信息,请参见此问题和此问题。