如何配置ASP.NET OutputCache与http vs https不同?
发布时间:2020-05-24 02:00:46 所属栏目:asp.Net 来源:互联网
导读:这是场景,用户从我们的WebApp打开非安全页面,让我们在浏览器中调用它,然后单击一个链接,将它们带到PageB的安全实例.一旦在PageB,用户可以随后单击一个链接,将它们带回到PageA(他们已经查看过并在OutputCache中)的安全实例.我观察到,即使在访问PageB(安全的)之
|
这是场景,用户从我们的WebApp打开非安全页面,让我们在浏览器中调用它,然后单击一个链接,将它们带到PageB的安全实例.一旦在PageB,用户可以随后单击一个链接,将它们带回到PageA(他们已经查看过并在OutputCache中)的安全实例.我观察到,即使在访问PageB(安全的)之后,通过不同的URL访问PageA,它实际上是拉前一个缓存副本,而是创建一个新的.我在调试会话中验证了这种行为,并且惊讶的是,ASP.Net使用相同的OutputCache项来保护页面的安全副本. 我的问题是为什么这样呢?而如何告诉ASP.Net OutPutCache将安全URL的访问视为与非安全等效文件不同/唯一的项目? [背景] 我们最近将我们的网站图像切换成对所有图像使用Scene7 / Akamai.因此,在安全连接上查看给定页面时,我们添加了使用不同Scene7网址的代码.此OutputCache问题不允许输出安全URL的逻辑执行,并导致丑陋的浏览器警告. 解决方法我认为你可以做一个VaryByCustom =“计划”,并将它添加到你的Global.asax.cs文件(包括我使用的其他几个应用程序版本和用户):public override string GetVaryByCustomString(HttpContext context,string custom)
{
if (custom.Equals("version",StringComparison.CurrentCultureIgnoreCase))
{
Assembly asm = Assembly.GetExecutingAssembly();
string[] parts = asm.FullName.Split(',');
string version = parts[1].Trim().ToLower();
return version;
}
else if (custom.Equals("user",StringComparison.CurrentCultureIgnoreCase))
{
var user = Membership.Users.CurrentUser;
return null == user ? string.Empty : user.Id.ToString();
}
else if (custom.Equals("scheme",StringComparison.CurrentCultureIgnoreCase))
{
var scheme = context.Request.IsSecureConnection ? "https" : "http";
return scheme;
}
else
return base.GetVaryByCustomString(context,custom);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 自定义异常过滤器在asp.net MVC中没有被击中
- asp.net-mvc-2 – 如何设置RadioButtonFor()在ASp.net MVC
- asp.net-mvc – 怎么样?控制器返回任何/当前视图
- asp.net-mvc – 可以使用存储库将外键映射到对象吗?
- 如何在ASP.NET页面上使用框架?
- asp.net-mvc – 什么是MVC 5的会员提供商?
- asp.net-mvc-2 – 无法加载文件或程序集’System.Web.Mvc’
- asp.net-web-api – 如何在StructureMap ServiceActivator中
- asp.net – 如何在迭代字典项时更新值?
- asp.net-mvc-5 – 如何在服务器上保存Rotativa PDF
推荐文章
站长推荐
- asp.net-mvc – 为什么ValidateInput(False)不工
- asp.net-mvc – 仅当不使用角色时,如何重定向[Au
- 在对ASP.NET MVC Action的AJAX请求期间有网络请求
- asp.net – ASP .net当前物理位置
- asp.net-mvc – 当ModelState为InValid时调用的A
- asp.net-mvc – MVC3 Razor视图中的文本文字问题
- asp.net – HttpContext.Current.User!= HttpCo
- asp.net-mvc – 在IIS Express中测试SignalR应用
- asp.net – NewRelic – 如何忽略Web应用程序的一
- ASP.NET Core 1.0 WebSocket安装?
热点阅读
