code:     public void testConfigureDownstreamProjectSecurity() throws Exception {
          jenkins.setSecurityRealm(new LegacySecurityRealm());
          ProjectMatrixAuthorizationStrategy auth = new ProjectMatrixAuthorizationStrategy();
          auth.add(Jenkins.READ, "alice");
          jenkins.setAuthorizationStrategy(auth);
          FreeStyleProject upstream = createFreeStyleProject("upstream");
          Map<Permission,Set<String>> perms = new HashMap<Permission,Set<String>>();
          perms.put(Item.READ, Collections.singleton("alice"));
          perms.put(Item.CONFIGURE, Collections.singleton("alice"));
          upstream.addProperty(new AuthorizationMatrixProperty(perms));
          FreeStyleProject downstream = createFreeStyleProject("downstream");
          /* Original SECURITY-55 test case:
          downstream.addProperty(new AuthorizationMatrixProperty(Collections.singletonMap(Item.READ, Collections.singleton("alice"))));
          */
          WebClient wc = createWebClient();
          wc.login("alice");
          HtmlPage page = wc.getPage(upstream, "configure");
          HtmlForm config = page.getFormByName("config");
          config.getButtonByCaption("Add post-build action").click(); // lib/hudson/project/config-publishers2.jelly
          page.getAnchorByText("Build other projects").click();
          HtmlTextInput childProjects = config.getInputByName("buildTrigger.childProjects");
          childProjects.setValueAttribute("downstream");
          try {
              submit(config);
              fail();
          } catch (FailingHttpStatusCodeException x) {
              assertEquals(403, x.getStatusCode());
          }
          assertEquals(Collections.emptyList(), upstream.getDownstreamProjects());
      }
  
  