Menambahkan rincian masuk dengan akun Microsoft Entra ke aplikasi web Spring
Artikel ini memperlihatkan kepada Anda cara mengembangkan aplikasi web Spring yang mendukung masuk oleh akun Microsoft Entra. Setelah menyelesaikan semua langkah dalam artikel ini, aplikasi web akan dialihkan ke halaman masuk Microsoft Entra saat diakses secara anonim. Cuplikan layar berikut menunjukkan halaman masuk Microsoft Entra:
Prasyarat
Prasyarat berikut diperlukan untuk menyelesaikan langkah-langkah dalam artikel ini:
- Kit Pengembangan Java (JDK) yang didukung. Untuk informasi selengkapnya tentang JDK yang tersedia untuk digunakan saat mengembangkan Azure, lihat dukungan Java pada Azure dan Azure Stack.
- Apache Maven, versi 3.0 atau lebih tinggi.
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis.
Penting
Spring Boot versi 2.5 atau yang lebih tinggi diperlukan untuk menyelesaikan langkah-langkah dalam artikel ini.
Membuat aplikasi menggunakan Spring Initializr
Telusuri https://start.spring.io/.
Tentukan bahwa Anda ingin membuat proyek Maven dengan Java, masukkan nama Grup dan Artefak untuk aplikasi Anda.
Tambahkan Dependensi untuk Spring Web, ID Microsoft Entra, dan Klien OAuth2.
Di bagian bawah halaman, pilih tombol GENERATE.
Ketika diminta, unduh proyek ke sebuah jalur pada komputer lokal Anda.
Membuat instans Microsoft Entra
Membuat instans Active Directory
Jika merupakan administrator instans yang sudah ada, Anda dapat melewatkan proses ini.
Masuk ke https://portal.azure.com.
Pilih Semua layanan, lalu Identitas, lalu ID Microsoft Entra.
Masukkan Nama organisasi dan Nama domain awal Anda. Salin URL lengkap direktori Anda. Anda akan menggunakan URL untuk menambahkan akun pengguna nanti di tutorial ini. (Misalnya:
azuresampledirectory.onmicrosoft.com
.)Salin URL lengkap direktori Anda. Anda akan menggunakan URL untuk menambahkan akun pengguna nanti di tutorial ini. (Misalnya,
azuresampledirectory.onmicrosoft.com
.).Setelah selesai, pilih Buat. Proses ini mungkin membutuhkan beberapa menit untuk membuat sumber daya baru.
Setelah selesai, pilih tautan yang ditampilkan untuk mengakses direktori baru.
Salin ID Penyewa. Anda akan menggunakan nilai ID untuk mengonfigurasi file application.properties nanti di tutorial ini.
Menambahkan pendaftaran aplikasi untuk aplikasi Spring Boot Anda
Dari menu portal, pilih Pendaftaran aplikasi, lalu pilih Daftarkan aplikasi.
Masukkan nama untuk aplikasi, lalu pilih Daftarkan.
Saat halaman untuk pendaftaran aplikasi Anda muncul, salin ID Aplikasi (klien) dan ID Direktori (penyewa). Anda akan menggunakan nilai ID untuk mengonfigurasi file application.properties nanti di tutorial ini.
Pilih Sertifikat & rahasia di panel navigasi kiri. Kemudian pilih Rahasia klien baru.
Tambahkan Deskripsi dan pilih durasi dalam daftar Kedaluwarsa. Pilih Tambahkan. Nilai untuk kunci akan otomatis terisi.
Salin dan simpan nilai rahasia klien untuk mengonfigurasi file application.properties nanti dalam tutorial ini. (Anda tidak akan dapat mengambil nilai ini nanti.)
Dari halaman utama untuk pendaftaran aplikasi, pilih Autentikasi, dan pilih Tambahkan platform. Kemudian pilih Aplikasi web.
Masukkan http://localhost:8080/login/oauth2/code/ sebagai Redirect URI baru, lalu pilih Konfigurasikan.
Jika Anda telah memodifikasi file pom.xml untuk menggunakan versi pemula Microsoft Entra yang lebih lama dari 3.0.0: di bawah Pemberian implisit dan alur hibrid, pilih token ID (digunakan untuk alur implisit dan hibrid), lalu pilih Simpan.
Menambahkan akun pengguna ke direktori Anda, dan menambahkan akun tersebut ke appRole
Dari halaman Gambaran Umum Active Directory, pilih Pengguna, lalu pilih Pengguna baru.
Saat panel Pengguna ditampilkan, masukkan Nama pengguna dan Nama. Lalu pilih Buat.
Catatan
Anda perlu menentukan URL direktori dari sebelumnya dalam tutorial ini ketika memasukkan nama pengguna. Contohnya:
test-user@azuresampledirectory.onmicrosoft.com
Dari halaman utama untuk pendaftaran aplikasi, pilih Peran aplikasi, lalu pilih Buat peran aplikasi. Berikan nilai untuk bidang formulir, pilih Apakah Anda ingin mengaktifkan peran aplikasi ini?, lalu pilih Terapkan.
Dari halaman Gambaran Umum direktori Microsoft Entra Anda, pilih Aplikasi perusahaan.
Pilih Semua aplikasi, lalu pilih aplikasi tempat Anda menambahkan peran aplikasi di langkah sebelumnya.
Pilih Pengguna dan grup, lalu pilih Tambahkan pengguna/grup.
Di bawah Pengguna, pilih Didak Ada yang Dipilih. Pilih pengguna yang Anda buat sebelumnya, pilih Pilih, lalu pilih Tetapkan. Jika Anda membuat lebih dari satu peran aplikasi sebelumnya, pilih peran.
Kembali ke panel Pengguna, pilih pengguna uji, dan pilih Reset kata sandi, dan salin kata sandi. Anda akan menggunakan kata sandi saat masuk ke aplikasi nanti dalam tutorial ini.
Mengonfigurasi dan mengompilasi aplikasi Anda
Ekstrak file dari arsip proyek yang Anda buat dan unduh sebelumnya dalam tutorial ini ke dalam direktori.
Navigasikan ke folder src/main/resources di proyek, lalu buka file application.properties di editor teks.
Tentukan pengaturan untuk pendaftaran aplikasi menggunakan nilai yang Anda buat sebelumnya. Contohnya:
# Enable related features. spring.cloud.azure.active-directory.enabled=true # Specifies your Active Directory ID: spring.cloud.azure.active-directory.profile.tenant-id=22222222-2222-2222-2222-222222222222 # Specifies your App Registration's Application ID: spring.cloud.azure.active-directory.credential.client-id=11111111-1111-1111-1111-1111111111111111 # Specifies your App Registration's secret key: spring.cloud.azure.active-directory.credential.client-secret=AbCdEfGhIjKlMnOpQrStUvWxYz==
Mana:
Parameter Deskripsi spring.cloud.azure.active-directory.enabled
Mengaktifkan fitur yang disediakan oleh spring-cloud-azure-starter-active-directory spring.cloud.azure.active-directory.profile.tenant-id
Berisi ID Direktori Active Directory dari sebelumnya. spring.cloud.azure.active-directory.credential.client-id
Berisi ID Aplikasi dari pendaftaran aplikasi yang Anda selesaikan sebelumnya. spring.cloud.azure.active-directory.credential.client-secret
Berisi Nilai dari kunci pendaftaran aplikasi yang Anda selesaikan sebelumnya. Simpan dan tutup file application.properties .
Buat folder bernama pengontrol di folder sumber Java untuk aplikasi Anda. Misalnya: src/main/java/com/wingtiptoys/security/controller.
Buat file Java baru bernama HelloController.java di folder pengontrol dan buka di editor teks.
Masukkan kode berikut, lalu simpan dan tutup file:
package com.wingtiptoys.security; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.security.access.prepost.PreAuthorize; @RestController public class HelloController { @GetMapping("Admin") @ResponseBody @PreAuthorize("hasAuthority('APPROLE_Admin')") public String Admin() { return "Admin message"; } }
Membuat dan menguji aplikasi Anda
Buka perintah dan ubah direktori ke folder tempat file pom.xml aplikasi Anda berada.
Bangun aplikasi Spring Boot Anda dengan Maven dan jalankan. Contohnya:
mvn clean package mvn spring-boot:run
Setelah aplikasi dibangun dan dimulai oleh Maven, buka
http://localhost:8080/Admin
di browser web. Anda akan dimintai nama pengguna dan kata sandi.Catatan
Anda mungkin diminta untuk mengubah kata sandi jika ini adalah proses masuk pertama untuk akun pengguna baru.
Setelah berhasil masuk, Anda akan melihat contoh teks "Pesan admin" dari pengontrol.
Ringkasan
Dalam tutorial ini, Anda membuat aplikasi web Java baru menggunakan pemula Microsoft Entra, mengonfigurasi penyewa Microsoft Entra baru, mendaftarkan aplikasi baru di penyewa, lalu mengonfigurasi aplikasi Anda untuk menggunakan anotasi dan kelas Spring untuk melindungi aplikasi web.
Lihat juga
- Untuk informasi tentang opsi UI baru, lihat Panduan pelatihan pendaftaran aplikasi portal Azure baru
Langkah berikutnya
Untuk mempelajari selengkapnya tentang Spring dan Azure, lanjutkan ke pusat dokumentasi Spring di Azure.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk