【发布时间】:2016-02-03 05:42:16
【问题描述】:
我知道我们可以这样做:
<session-config>
<cookie-config>
<secure>true</secure>
</cookie-config>
</session-config>
但我想要实现的是根据一些配置设置这个标志(真或假)。
我们应该使用过滤器吗?如何使用?
谢谢
【问题讨论】:
标签: java security servlets cookies servlet-3.0
我知道我们可以这样做:
<session-config>
<cookie-config>
<secure>true</secure>
</cookie-config>
</session-config>
但我想要实现的是根据一些配置设置这个标志(真或假)。
我们应该使用过滤器吗?如何使用?
谢谢
【问题讨论】:
标签: java security servlets cookies servlet-3.0
假设您处于 servlet 3.0+ 环境中,并且您不想使用 web.xml 指定 cookie-secure-flag 而是以编程方式设置它:
实现ServletContextListener 并将其注册到web.xml 或通过注解。
在其contextInitialized 方法中,从您的配置中评估您的安全标志并将其设置在SessionCookieConfig:
public void contextInitialized(ServletContextEvent sce) {
boolean secure = ...
sce.getServletContext().getSessionCookieConfig().setSecure(secure);
}
【讨论】: