You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
More details about the AMQP Address model can be found in the https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html[Artemis documentation].
372
+
More details about the AMQP Address model can be found in the https://activemq.apache.org/components/artemis/documentation/latest/address-model.html[ActiveMQ Artemis documentation].
If you need to have multiple constructors in your DTO, you must annotate the constructor intended to generate a SELECT clause with @ProjectedConstructor:
If you need to have multiple constructors in your DTO, you must annotate the constructor intended to generate a SELECT clause with @ProjectedConstructor:
Copy file name to clipboardExpand all lines: _versions/main/guides/security-getting-started-tutorial.adoc
+19-2Lines changed: 19 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -293,11 +293,27 @@ The `quarkus-security-jpa` extension only initializes if a single entity is anno
293
293
By default, it uses bcrypt-hashed passwords.
294
294
You can configure it to use plain text or custom passwords.
295
295
<4> Indicates the comma-separated list of roles added to the target principal representation attributes.
296
-
<5> Allows us to add users while hashing passwords with the proper bcrypt hash.
296
+
<5> Provides a helper method to add users with properly hashed passwords. The `BcryptUtil.bcryptHash()` method:
297
+
* Automatically generates a random salt for each password.
298
+
* Hashes the password using bcrypt with 10 iterations (default).
299
+
* Returns the hash in Modular Crypt Format (MCF), which includes the algorithm identifier, cost parameter, salt, and hash.
300
+
301
+
[TIP]
302
+
====
303
+
**Password hashing best practices:**
304
+
305
+
* Always pass plain text passwords to `BcryptUtil.bcryptHash()` - never pre-hash them.
306
+
* The bcrypt hash includes the salt, so no separate salt storage is needed.
307
+
* To verify passwords during authentication, the framework automatically uses `BcryptUtil.matches(plainPassword, hashedPassword)`.
308
+
* For custom iterations: `BcryptUtil.bcryptHash(password, iterationCount)` where higher iterations (12-14) provide more security but slower performance.
309
+
====
310
+
311
+
- For more information about configuring passwords and roles, see xref:configure-the-application[Configure the application].
312
+
- For more information on hashing passwords and available options, see xref:security-jpa.adoc#password-storage-and-hashing[Password storage and hashing].
297
313
298
314
[NOTE]
299
315
====
300
-
Don’t forget to set up the Panache and PostgreSQL JDBC driver, please see xref:hibernate-orm-panache.adoc#setting-up-and-configuring-hibernate-orm-with-panache[Setting up and configuring Hibernate ORM with Panache] for more information.
316
+
Remember to set up the Panache and PostgreSQL JDBC driver. For more information, see xref:hibernate-orm-panache.adoc#setting-up-and-configuring-hibernate-orm-with-panache[Setting up and configuring Hibernate ORM with Panache].
301
317
====
302
318
ifndef::no-quarkus-security-jpa-reactive[]
303
319
[NOTE]
@@ -307,6 +323,7 @@ For more information, see link:{quickstarts-tree-url}/security-jpa-reactive-qui
307
323
====
308
324
endif::no-quarkus-security-jpa-reactive[]
309
325
326
+
[id="configure-the-application"]
310
327
== Configure the application
311
328
312
329
. Enable the built-in Quarkus xref:security-basic-authentication.adoc[Basic authentication] mechanism by setting the `quarkus.http.auth.basic` property to `true`:
0 commit comments