首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC中的P3P头信息

MVC中的P3P头信息
EN

Stack Overflow用户
提问于 2012-12-20 15:49:42
回答 3查看 9.7K关注 0票数 8

我不知道我应该把它放在我的Asp.net MVC网站上:

代码语言:javascript
复制
HttpContext.Current.Response.AppendHeader("P3P", "CP=\\\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\"");

我把它放在:

代码语言:javascript
复制
public static void RegisterRoutes(RouteCollection routes)
{
  HttpContext.Current.Response.AppendHeader("P3P", "CP=\\\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\"");
  routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
  routes.MapRoute(
      "Default", // Route name
      "{controller}/{action}/{id}", // URL with parameters
      new { controller = "Account", action = "Logon", id = UrlParameter.Optional }
  );

}

但我回来了

在这种情况下无法得到响应。

有人知道我该把这个放在哪里吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-20 15:52:01

您可以将其放在web.config中:

代码语言:javascript
复制
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="P3P" value='CP="CAO PSA OUR"'/>

这样,您就不需要将其放入代码中。

有关value含义的详细信息,请参阅value

票数 38
EN

Stack Overflow用户

发布于 2012-12-20 15:55:24

假设您希望在每个响应上都有这个标题,这样的东西应该可以做到。

代码语言:javascript
复制
public class P3PHeaderAttribute : ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        filterContext.HttpContext.Response.AppendHeader("P3P", "CP=\\\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\"");

    }
}

然后将过滤器添加到全局集合中。

代码语言:javascript
复制
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new P3PHeaderAttribute());
    }
票数 9
EN

Stack Overflow用户

发布于 2012-12-20 15:51:44

您应该创建一个继承ActionFilter并重写OnResultExecuting()以添加该标头的类。

然后,将其添加到全局筛选器集合中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13975777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档