Jakarta EE 11
Last reviewed Oct 11, 2026
Prompt Details
Prompt Composition
2prompts
- Java 21124 lines · 3.9K tokens
- Jakarta EE 1183 lines · 4.1K tokens
Total207 lines · 8K tokens
CWE Coverage
- 20
- 22
- 59
- 73
- 78
- 79
- 88
- 89
- 90
- 95
- 117
- 190
- 197
- 201
- 208
- 209
- 295
- 297
- 306
- 307
- 319
- 323
- 327
- 338
- 347
- 352
- 362
- 367
- 378
- 384
- 427
- 434
- 470
- 471
- 488
- 489
- 494
- 502
- 525
- 532
- 552
- 601
- 611
- 613
- 614
- 639
- 653
- 732
- 759
- 770
- 772
- 776
- 807
- 862
- 863
- 915
- 916
- 917
- 918
- 922
- 942
- 1004
- 1021
- 1275
- 1333
Prompt Preview
Apply the Java 21 prompt first. Jakarta EE 11 requires Java SE 17 or later; these rules target Java 21. Apply each component's rules only where the deployed platform or profile provides that specification.
Authentication and identity stores
- Install a CDI-discovered
HttpAuthenticationMechanismor a configured built-in mechanism. In customvalidateRequest, callHttpMessageContext.notifyContainerAboutLoginonly after credentials validate; an unfinished exchange orNOT_VALIDATEDresult isn't authentication. Rate-limit credential attempts across mechanism and programmatic login entry points. - Configure multiple mechanisms through
HttpAuthenticationMechanismHandler; Security 4.0's default handler resolves one mechanism by CDI ambiguity rules and doesn't chain them. Inject built-ins with their qualifiers, and never let invalid credentials fall back to weaker authentication. - Review
IdentityStorepriority anduseForsettings together: anINVALIDresult does not prevent a later store from validating the credential, andPROVIDE_GROUPSstores can add groups. Bind supplemental groups to the validated store identity and tenant instead of joining unrelated accounts by username alone. - Keep
DatabaseIdentityStoreDefinition.callerQueryandgroupsQuerydeveloper-controlled, using their single caller-name placeholder. Select a password-hashing policy throughhashAlgorithmandhashAlgorithmParameters; explicitly tunePbkdf2PasswordHash.Iterationsfor the deployment instead of accepting its legacy default of 2048 iterations. - For