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şullara ihtiyacınız vardır:
- 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.
Java ile bir Maven projesi oluşturmak istediğinizi belirtin. Uygulamanızın 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.
Bölüme Spring Cloud Azure Ürün Reçetesini
<dependencyManagement>(BOM) ekleyin.<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>7.4.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 kullanın.
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 alamazsı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'si için
http://localhost:8080/login/oauth2/code/girin ve sonra Yapı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 verme ve karma akışlar'ın altında Kimlik belirteçleri (örtük ve karma akışlar için kullanılır) ve ardından Kaydet'i seçin.
Kullanıcı hesabı ekleme ve Microsoft Entra uygulama rolü atama
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'ni ve ardından Uygulama rolü oluştur'u seçin. Form alanları için değerler sağlayın, Bu uygulama rolünü etkinleştirmek istiyor musunuz? öğesini ve ardından Uygula'yı seç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'ı ve ardından Kullanıcı/grup ekle'yi seçin.
Kullanıcılaraltında Seçili Yokseçin. Daha önce oluşturduğunuz kullanıcıyı seçin, Seç'i ve ardından Ata'yı 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ırla'yı seçin. Parolayı kopyalayın. Bu öğreticinin ilerleyen bölümlerinde uygulamanızda oturum açarken parolayı kullanırsı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.
Projenizde src/main/resources klasörüne gidin ve 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.enabledtarafından spring-cloud-azure-starter-active-directorysağlanan özellikleri etkinleştirir.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 ve 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:runMaven uygulamanızı derleyip başladıktan sonra bir web tarayıcısında açın
http://localhost:8080/Admin. Kullanıcı adı ve parola girmeniz istenir.
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ığınızda, denetleyiciden alınan örnek "Yönetici iletisi" metnini görürsünüz.
Özet
Bu öğreticide, Microsoft Entra başlatıcısını kullanarak yeni bir Java web uygulaması oluşturdunuz, yeni bir Microsoft Entra kiracı yapılandırdı, kiracıya yeni bir uygulama kaydettiniz ve ardından uygulamanızı Web uygulamasını korumak için Spring ek açıklamalarını ve sınıflarını kullanacak şekilde yapılandırdık.
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