Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-12794

Elytron/JACC: Inconsistent EjbMethodPermissions

XMLWordPrintable

    • Hide

      The attachment is a patch for the quickstart project, it demonstrates the case with the "ejb-security" example. The modified configuration script enables JACC, and a method with an array parameter is added to the example code.

      Show
      The attachment is a patch for the quickstart project, it demonstrates the case with the "ejb-security" example. The modified configuration script enables JACC, and a method with an array parameter is added to the example code.

      When JACC is enabled in an elytron application domain, calling a secured ejb method that has an array parameter causes an EjbAccessException.

      The reason for the failure is that the EjbMethodPermissions created by the EjbJaccConfigurator and the JaccInterceptor do not agree in the format of the type names for method parameters. According to the JACC specification and API documentation, names for array types should have the "canonical" form: component-type + "[]". The permission objects built by the JaccInterceptor conform to that, but the EjbJaccConfigurator builds them with type names obtained from a "MethodIdentifier", and these names have the internal format as returned by Class.getName().

              fjuma1@redhat.com Farah Juma
              u_bross Ulf Brosziewski (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: