Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Microsoft Entra hesabıtarafından oturum açmayı destekleyen bir Spring web uygulamasının nasıl geliştirildiğiniz gösterilmektedir. Bu makaledeki tüm adımları tamamladıktan sonra, web uygulaması anonim olarak erişildiğinde Microsoft Entra oturum açma sayfasına yönlendirilir. Aşağıdaki ekran görüntüsünde Microsoft Entra oturum açma sayfası gösterilmektedir:
Önkoşullar
Bu makaledeki adımları tamamlamak için aşağıdaki önkoşullar gereklidir:
- Desteklenen bir Java Geliştirme Seti (JDK). Azure'da geliştirme yaparken kullanılabilecek JDK'ler hakkında daha fazla bilgi için bkz. Azure'da Java desteği ve Azure Stack.
- Apache Maven, sürüm 3.0 veya daha yüksek.
- Bir Azure aboneliği. Azure aboneliğiniz yoksa
ücretsiz bir hesap oluşturun.
Önemli
Bu makaledeki adımları tamamlamak için Spring Boot sürüm 2.5 veya üzeri gereklidir.
Spring Initializr kullanarak uygulama oluşturma
https://start.spring.io/adresine gidin.
Maven projesi oluşturmak istediğinizi, Javaile belirtin ve uygulamanız için Grup ve Yapıt adlarını girin.
Spring Web ve OAuth2 İstemcisi için Bağımlılıklar ekleyin.
Sayfanın en altında GENERATE düğmesini seçin.
İstendiğinde, projeyi yerel bilgisayarınızdaki bir dizine indirin.
Microsoft Entra bağımlılığını ekleme
İndirilen proje dosyalarını yerel bilgisayarınızdaki bir dizine ayıklayın.
pom.xml dosyasını bir metin düzenleyicisinde açın.
Spring Cloud Azure Ürün Reçetesini (BOM)
<dependencyManagement>bölümüne ekleyin:<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>5.23.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>Spring Cloud Azure Starter Microsoft Entra bağımlılığını
<dependencies>bölümüne ekleyin:<dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-active-directory</artifactId> </dependency>pom.xml dosyasını kaydedin ve kapatın.
Microsoft Entra örneğini oluşturma
Mevcut bir örneğin yöneticisiyseniz bu işlemi atlayabilirsiniz.
https://portal.azure.comoturumu açın.
Tüm hizmetleriseçin, sonra Kimlikve sonra Microsoft Entra ID.
Kuruluş adınızı ve İlk etki alanı adınızıgirin. Dizininizin tam URL'sini kopyalayın. Bu öğreticinin ilerleyen bölümlerinde kullanıcı hesapları eklemek için URL'yi kullanacaksınız. (Örneğin:
azuresampledirectory.onmicrosoft.com.)Dizininizin tam URL'sini kopyalayın. Bu öğreticinin ilerleyen bölümlerinde kullanıcı hesapları eklemek için URL'yi kullanacaksınız. (Örneğin:
azuresampledirectory.onmicrosoft.com.).İşiniz bittiğinde, Oluşturdüğmesini seçin. Yeni kaynağın oluşturulması birkaç dakika sürer.
Tamamlandığında, yeni dizine erişmek için görüntülenen bağlantıyı seçin.
Kiracı Kimliğinikopyalayın. Bu öğreticinin ilerleyen bölümlerinde application.properties dosyanızı yapılandırmak için ID değerini kullanacaksınız.
Spring Boot uygulamanız için uygulama kaydı ekleme
Portal menüsünden Uygulama kayıtları'nı seçin ve ardından Uygulama kaydet'i seçin.
Uygulamanızı belirtin ve ardından Kaydet'i seçin.
Uygulama kaydınızın sayfası görüntülendiğinde Uygulama (istemci) kimliğinizi ve Kiracı Kimliğinizi kopyalayın. Bu öğreticinin devamında application.properties dosyanızı yapılandırmak için bu değerleri kullanacaksınız.
Gezinti bölmesinde sertifikalar & sırlar seçin. Ardından Yeni istemci gizli anahtarıseçeneğini seçin.
Açıklama ekleyin ve Süre Sonu listesinden süreyi seçin. 'ı seçin'i ekleyin. Anahtarın değeri otomatik olarak doldurulur.
Bu öğreticide daha sonra application.properties dosyanızı yapılandırmak için istemci gizliliğinin değerini kopyalayın ve kaydedin. (Bu değeri daha sonra alamayacaksınız.)
Uygulama kaydınızın ana sayfasında Kimlik Doğrulamaseçin, ardından Bir platform ekleyinseçeneğini seçin. Ardından web uygulamalarıseçin.
yeni bir
Yeniden Yönlendirme URI'sini içingirin veYapılandır'ı seçin. pom.xml dosyasını 3.0.0'dan önceki bir Microsoft Entra başlangıç sürümünü kullanacak şekilde değiştirdiyseniz: Örtük izin ve karma akışlaraltında, Kimlik belirteçleri (örtük ve karma akışlar için kullanılır)seçin, ardından Kaydetseçin.
Dizininize bir kullanıcı hesabı ekleyin ve bu hesabı bir appRole'a ekleyin
Microsoft Entra ID kiracınızın Genel Bakış sayfasında Kullanıcılar'ı ve ardından Yeni kullanıcı'yı seçin.
Kullanıcı paneli görüntülendiğinde, Kullanıcı adı ve Adgirin. Ardından Oluştur'useçin.
Not
Kullanıcı adını girerken bu öğreticinin önceki bölümlerinden dizin URL'nizi belirtmeniz gerekir. Mesela:
test-user@azuresampledirectory.onmicrosoft.comUygulama kaydınızın ana sayfasında Uygulama rolleri
seçin ve ardından uygulama rolü oluştur seçin. Form alanları için değer sağlayın, Bu uygulama rolünü etkinleştirmek istiyor musunuz? öğesini seçin, sonra Uygulaseçin. Microsoft Entra dizininizin
Genel Bakış sayfasındanKurumsal uygulamalar'ı seçin. tüm uygulamalar
seçin ve ardından önceki adımda uygulama rolünü eklediğiniz uygulamayı seçin. Kullanıcılar ve gruplar'ıseçin, ardından Kullanıcı/grup ekleseçin.
Kullanıcılaraltında Seçili Yokseçin. Daha önce oluşturduğunuz kullanıcıyı seçin, Seç kısmında’i seçin ve ardından Ata kısmında’ü seçin. Daha önce birden fazla uygulama rolü oluşturduysanız bir rol seçin.
Kullanıcılar paneline dönün, test kullanıcınızı seçin ve parolayısıfırlaseçin ve parolayı kopyalayın. Bu öğreticinin ilerleyen bölümlerinde uygulamanızda oturum açtığınızda parolayı kullanacaksınız.
Uygulamanızı yapılandırma ve derleme
Bu öğreticinin önceki bölümlerinde oluşturduğunuz ve indirdiğiniz proje arşivindeki dosyaları bir dizine ayıklayın.
Projenizdeki src/main/resources klasörüne gidin, ardından application.properties dosyasını bir metin düzenleyicisinde açın.
Daha önce oluşturduğunuz değerleri kullanarak uygulama kaydınızın ayarlarını belirtin. Mesela:
# Enable related features. spring.cloud.azure.active-directory.enabled=true # Specifies your Microsoft Entra ID tenant ID: spring.cloud.azure.active-directory.profile.tenant-id=<tenant-ID> # Specifies your App Registration's Application ID: spring.cloud.azure.active-directory.credential.client-id=<client-ID> # Specifies your App Registration's secret key: spring.cloud.azure.active-directory.credential.client-secret=<client-secret>Nerede:
Parametre Açıklama spring.cloud.azure.active-directory.enabledspring-cloud-azure-starter-active-directory tarafından sağlanan özellikleri etkinleştirme spring.cloud.azure.active-directory.profile.tenant-idMicrosoft Entra Id kiracınızın önceki kiracı kimliğini içerir. spring.cloud.azure.active-directory.credential.client-idUygulama kaydınızı daha önce tamamladığınızda aldığınız Uygulama Kimliği içerir. spring.cloud.azure.active-directory.credential.client-secretDaha önce tamamladığınız uygulama kayıt anahtarınızdan ve değerlerini içerir. application.properties dosyasını kaydedin ve kapatın.
Uygulamanızın Java kaynak klasöründe denetleyici adlı bir klasör oluşturun. Örneğin: src/main/java/com/wingtiptoys/security/controller.
denetleyicisi klasöründe HelloController.java adlı yeni bir Java dosyası oluşturun ve bunu bir metin düzenleyicisinde açın.
Aşağıdaki kodu girin, ardından dosyayı kaydedip kapatın:
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"; } }
Uygulamanızı derleme ve test etme
Bir komut istemi açın ve dizini uygulamanızın pom.xml dosyasının bulunduğu klasörle değiştirin.
Spring Boot uygulamanızı Maven ile derleyin ve çalıştırın. Mesela:
mvn clean package mvn spring-boot:runUygulamanız Maven tarafından derlenip başlatıldıktan sonra
http://localhost:8080/Adminbir web tarayıcısında açın. Sizden bir kullanıcı adı ve parola istenmelidir.
Not
Bu yeni bir kullanıcı hesabı için ilk oturum açma işlemiyse parolanızı değiştirmeniz istenebilir.
Başarıyla oturum açtıktan sonra, denetleyiciden alınan örnek "Yönetici iletisi" metnini görmeniz gerekir.
Özet
Bu öğreticide, Microsoft Entra başlatıcısı ile yeni bir Java web uygulaması oluşturdunuz, yeni bir Microsoft Entra kiracısı yapılandırdınız, kiracıya yeni bir uygulama kaydettiniz ve sonra uygulamanızı web uygulamasını korumak için Spring anotasyonları ve sınıflarını kullanacak şekilde yapılandırdınız.
Ayrıca bkz.
- Yeni kullanıcı arabirimi seçenekleri hakkında bilgi için bkz. Yeni Azure portalı uygulama kaydı eğitim kılavuzu
Sonraki adımlar
Spring ve Azure hakkında daha fazla bilgi edinmek için Azure'da Spring belge merkezine geçin.
Azure'da İlkbahar