title: JSF conditional navigation case not working
body: <p>I have a navigation rule in the faces config that has a conditional in the navigation case and to try and prevent users who do not belong to the right groups from accessing the page. </p>
  
  <p>The page is supposed to be accessible using the menu from anywhere in the application if the user has the correct group/role and this is taken care by using the method below to render or not render menu components, command buttons, etc. </p>
  
  <p>What I am trying to prevent is the case that a user may know the full URL/path to the page and type into the browser to try and access the page. </p>
  
  <p>Can you not use paramterized methods in the conditional?</p>
  
  <p>faces-config entry</p>
  
  <pre><code>&lt;navigation-rule&gt;
      &lt;from-view-id&gt;*&lt;/from-view-id&gt;
      &lt;navigation-case&gt;
          &lt;from-outcome&gt;doc_ordering_manage&lt;/from-outcome&gt;
          &lt;if&gt;#{user_Info.userInGroup('APP_DEV_ADMIN','APP_QA_ADMIN','APP_DIST_EDITOR')}&lt;/if&gt;
          &lt;to-view-id&gt;/content/pages/docOrderingManagement.xhtml&lt;/to-view-id&gt;
      &lt;/navigation-case&gt;   
  &lt;/navigation-rule&gt;
  </code></pre>
  
  <p>I have tried the following for the from-view-id with the same result.</p>
  
  <pre><code>        &lt;from-view-id&gt;/*.xhtml&lt;/from-view-id&gt;
          &lt;from-view-id&gt;*.xhtml&lt;/from-view-id&gt;
         &lt;from-view-id&gt;*&lt;/from-view-id&gt;
  </code></pre>
  
  <p>The bean method that is being called.</p>
  
  <pre><code>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;
  }
  </code></pre>
  
  <p>When a tester that does not have one of the necessary groups attempts access the page by typing the URL into the browser they are able to access the page and the debug message inside of the method shows that the return value is false when the method is called in the navigation case.</p>