1.6. アプリケーションの設定
quarkus.http.auth.basicプロパティーをtrueに設定して、組み込みの Quarkus Basic 認証 メカニズムを有効にします。quarkus.http.auth.basic=true注記アクセスをセキュアにする必要があり、他の認証メカニズムが有効になっていない場合は、Quarkus に組み込まれている Basic 認証 がフォールバック認証メカニズムになります。したがって、このチュートリアルでは、プロパティー
quarkus.http.auth.basicをtrueに設定する必要はありません。quarkus-security-jpaエクステンションがデータベースにアクセスできるように、src/main/resources/application.propertiesファイルで少なくとも 1 つのデータソースを設定します。以下に例を示します。src/main/resources/application.properties
quarkus.http.auth.basic=true %prod.quarkus.datasource.db-kind=postgresql %prod.quarkus.datasource.username=quarkus %prod.quarkus.datasource.password=quarkus %prod.quarkus.datasource.jdbc.url=jdbc:postgresql:quarkus quarkus.hibernate-orm.database.generation=drop-and-createプロファイル接頭辞の
%prod.を追加することで、本番モードで実行されているアプリケーションによってのみデータソースプロパティーが監視されるようになります。-
ユーザーとロールを使用してデータベースを初期化するには、次のコードスニペットに示すように、
Startupクラスを実装します。
src/main/java/org/acme/security/jpa/Startup.java
package org.acme.security.jpa;
import jakarta.enterprise.event.Observes;
import jakarta.inject.Singleton;
import jakarta.transaction.Transactional;
import io.quarkus.runtime.StartupEvent;
@Singleton
public class Startup {
@Transactional
public void loadUsers(@Observes StartupEvent evt) {
// reset and load all test users
User.deleteAll();
User.add("admin", "admin", "admin");
User.add("user", "user", "user");
}
}
上記の例は、指定されたデータベースによってアプリケーションがどのように保護されて ID が提供されるかを示しています。
実稼働環境では、プレーンテキストのパスワードを保存しないでください。そのため、quarkus-security-jpa はデフォルトで bcrypt でハッシュされたパスワードを使用します。