在PrimeFaces高级主题上将Cookies设置为HttpOnly

问题描述

我需要将HttpOnly添加到我的PrimeFace项目中的所有cookie。

我试图通过web.xml设置cookie web.xml

但是在layout.js poseidon_expandeditems上创建的cookie被创建了两次,一次是带有标志HttpOnly,而另一次则没有。

如何将我在项目中创建的所有cookie设置为具有HttpOnly?

解决方法

您不能将cookie设置为“仅HTTP”,因为这将使其无法用于Javascript代码。 Poseidon中的布局正在使用Javascript创建和管理cookie,因此它不能仅具有HTTP,因此它可以操纵cookie。为什么您认为它必须是HttpOnly?

例如,来自巴比伦主题layout.js ...

    saveMenuState: function () {
        $.cookie('babylon_expandeditems',this.expandedMenuitems.join(','),{ path: '/' });
    },saveScrollState: function (value) {
        $.cookie('babylon_scroll',value,clearMenuState: function () {
        $.removeCookie('babylon_expandeditems',{ path: '/' });
        $.removeCookie('babylon_active_route',{ path: '/' });
        $.removeCookie('babylon_static_menu_inactive',{ path: '/' });
        $.removeCookie('babylon_scroll',{ path:'/' });
    },

如果您仍然有疑问,建议在Poseidon主题论坛上提出: https://forum.primefaces.org/viewforum.php?f=43

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...