Jsf 如何在筛选器中访问projectstage

Jsf 如何在筛选器中访问projectstage,jsf,servlet-filters,Jsf,Servlet Filters,使用过滤器进行身份验证我不想在开发阶段每次都登录,也不想在开发期间对过滤器置之不理。我曾想过使用项目阶段仅在生产模式下进行身份验证 由于FacesContext不可用,如何在筛选器中检索projectstage?如果在web.xml中以通常的方式将其定义为,则可以在筛选器的init()中获得它,如下所示: private boolean development; @Override public void init(FilterConfig config) { development

使用过滤器进行身份验证我不想在开发阶段每次都登录,也不想在开发期间对过滤器置之不理。我曾想过使用项目阶段仅在生产模式下进行身份验证


由于
FacesContext
不可用,如何在筛选器中检索projectstage?

如果在
web.xml
中以通常的方式将其定义为
,则可以在筛选器的
init()
中获得它,如下所示:

private boolean development;

@Override
public void init(FilterConfig config) {
    development = "Development".equals(config.getServletContext().getInitParameter("javax.faces.PROJECT_STAGE"));
}

// ...

如果它在
web.xml
中以通常的方式定义为
,那么您可以在过滤器的
init()
中获得它,如下所示:

private boolean development;

@Override
public void init(FilterConfig config) {
    development = "Development".equals(config.getServletContext().getInitParameter("javax.faces.PROJECT_STAGE"));
}

// ...

谢谢我将使用常量
ProjectStage.ProjectStage\u参数NAME
进一步删除
“javax.faces.PROJECT\u STAGE”
。为了获得更大的灵活性,我将根据字符串创建enum
ProjectStage
。谢谢。我将使用常量
ProjectStage.ProjectStage\u参数NAME
进一步删除
“javax.faces.PROJECT\u STAGE”
。为了更灵活,我将从字符串(如果存在)创建enum
ProjectStage