代码之家  ›  专栏  ›  技术社区  ›  ChadNC

JSF条件导航用例不工作

  •  0
  • ChadNC  · 技术社区  · 6 年前

    我在faces配置中有一个导航规则,它在导航案例中有一个条件,用于尝试阻止不属于正确组的用户访问页面。

    不能在条件中使用参数化方法吗?

    <navigation-rule>
        <from-view-id>*</from-view-id>
        <navigation-case>
            <from-outcome>doc_ordering_manage</from-outcome>
            <if>#{user_Info.userInGroup('APP_DEV_ADMIN','APP_QA_ADMIN','APP_DIST_EDITOR')}</if>
            <to-view-id>/content/pages/docOrderingManagement.xhtml</to-view-id>
        </navigation-case>   
    </navigation-rule>
    

    对于from视图id,我尝试了以下操作,但结果相同。

            <from-view-id>/*.xhtml</from-view-id>
            <from-view-id>*.xhtml</from-view-id>
           <from-view-id>*</from-view-id>
    

    public boolean userInGroup(String... groupNames){
        boolean retValue = false;
        for(String s : groupNames){
            for(String s2 : this.userGroups){
                if(s.equals(s2)){
                    retValue = true;
                }
            }
        }
        Tools.debugMessages("userInGroup returning: " + retValue);
        return retValue;
    }
    

    当没有必要组的测试人员尝试通过在浏览器中键入URL来访问页面时,他们可以访问该页面,并且在导航情况下调用该方法时,该方法内部的调试消息显示返回值为false。

    0 回复  |  直到 6 年前