## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.ejb3.application-security-domain | true | none

## Attributes (4)

- enable-jacc - Enable authorization using Jakarta Authorization

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "Enable authorization using Jakarta Authorization",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- legacy-compliant-principal-propagation - Option to switch between legacy compliant principal propagation or Elytron principal propagation

  Type | BOOLEAN
  Default Value | true
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "Option to switch between legacy compliant principal propagation or Elytron principal propagation",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : true,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- referencing-deployments - The deployments currently referencing this mapping

  Type | LIST
  Where is the attribute stored? | runtime
  Access Type | read-only
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LIST"
          },
          "description" : "The deployments currently referencing this mapping",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "min-length" : 0,
          "max-length" : 2147483647,
          "stability" : "default",
          "value-type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "access-type" : "read-only",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- security-domain - The Elytron security domain to be used by deployments that reference the mapped security domain

  Type | STRING
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "The Elytron security domain to be used by deployments that reference the mapped security domain",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "capability-reference" : "org.wildfly.security.security-domain",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-constraints" : {"sensitive" : {"elytron-security-domain-ref" : {"type" : "core"}}},
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services"
      }

## Operations (2)

- add - Add a new application referenced security domain mapping

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  enable-jacc | BOOLEAN | false | false | false | Enable authorization using Jakarta Authorization
  legacy-compliant-principal-propagation | BOOLEAN | false | false | true | Option to switch between legacy compliant principal propagation or Elytron principal propagation
  security-domain | STRING | true | false |  | The Elytron security domain to be used by deployments that reference the mapped security domain

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Add a new application referenced security domain mapping",
          "request-properties" : {
              "enable-jacc" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Enable authorization using Jakarta Authorization",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "legacy-compliant-principal-propagation" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Option to switch between legacy compliant principal propagation or Elytron principal propagation",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : true,
                  "stability" : "default"
              },
              "security-domain" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The Elytron security domain to be used by deployments that reference the mapped security domain",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "capability-reference" : "org.wildfly.security.security-domain",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Remove the application referenced security domain mapping

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Remove the application referenced security domain mapping",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "all-services",
          "runtime-only" : false
      }

## Galleon Features

Galleon features are to be used when creating Galleon feature-packs.

- subsystem.ejb3.application-security-domain

      <feature spec="subsystem.ejb3.application-security-domain">
        <param name="application-security-domain" value="{resource name}"/>
        <param name="enable-jacc" value="{value}"/>
        <param name="legacy-compliant-principal-propagation" value="{value}"/>
        <param name="security-domain" value="{value}"/>
      <feature/>