Azure Active Directory Bağlı Hizmeti ile hataları tanılama

Şunlar için geçerlidir:yesMacno için Visual Studio noVisual Studio Visual Studio Code

Önceki kimlik doğrulama kodunu algılarken, Azure Active Directory bağlı hizmeti uyumsuz bir kimlik doğrulama türü algılamıştı.

Bir projedeki önceki kimlik doğrulama kodunu doğru şekilde algılamak için projenin yeniden oluşturulması gerekir. Bu hatayı görürseniz ve projenizde önceki bir kimlik doğrulama kodunuz yoksa yeniden derleyip yeniden deneyin.

Proje türler

Bağlı hizmet, geliştirdiğiniz projenin türünü denetler ve böylece projeye doğru kimlik doğrulama mantığını ekleyebilir. Projede türetilen ApiController herhangi bir denetleyici varsa, proje bir WebAPI projesi olarak kabul edilir. Yalnızca projeden türetilen MVC.Controller denetleyiciler varsa, proje bir MVC projesi olarak kabul edilir. Bağlı hizmet başka bir proje türünü desteklemez.

Uyumlu kimlik doğrulama kodu

Bağlı hizmet, daha önce yapılandırılmış veya hizmetle uyumlu kimlik doğrulama ayarlarını da denetler. Tüm ayarlar mevcutsa, yeniden katılımcı olayı olarak kabul edilir ve bağlı hizmet açılırken ayarları görüntüler. Ayarlardan yalnızca bazıları mevcutsa, bu bir hata durumu olarak kabul edilir.

Bir MVC projesinde bağlı hizmet, hizmetin önceki kullanımından kaynaklanan aşağıdaki ayarlardan herhangi birini denetler:

<add key="ida:ClientId" value="" />
<add key="ida:Tenant" value="" />
<add key="ida:AADInstance" value="" />
<add key="ida:PostLogoutRedirectUri" value="" />

Ayrıca bağlı hizmet, bir Web API projesinde hizmetin önceki kullanımından kaynaklanan aşağıdaki ayarlardan herhangi birini denetler:

<add key="ida:ClientId" value="" />
<add key="ida:Tenant" value="" />
<add key="ida:Audience" value="" />

Uyumsuz kimlik doğrulama kodu

Son olarak, bağlı hizmet, Visual Studio'nun önceki sürümleriyle yapılandırılmış kimlik doğrulama kodunun sürümlerini algılamaya çalışır. Bu hatayı aldıysanız, projenizin uyumsuz bir kimlik doğrulama türü içerdiği anlamına gelir. Bağlı hizmet, Visual Studio'nun önceki sürümlerinden aşağıdaki kimlik doğrulama türlerini algılar:

  • Windows Kimlik Doğrulaması
  • Bireysel Kullanıcı Hesapları
  • Kuruluş Hesapları

Bir MVC projesinde Windows Kimlik Doğrulamasını algılamak için, bağlı olan dosyanızdaki web.config öğesini ararauthentication.

<configuration>
    <system.web>
        <authentication mode="Windows" />
    </system.web>
</configuration>

Bir Web API projesinde Windows Kimlik Doğrulamasını algılamak için, bağlı hizmet projenizin .csproj dosyasında öğesini IISExpressWindowsAuthentication arar:

<Project>
    <PropertyGroup>
        <IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>
    </PropertyGroup>
</Project>

Tek Tek Kullanıcı Hesapları kimlik doğrulamasını algılamak için bağlı hizmet dosyanızdaki packages.config paket öğesini arar.

<packages>
    <package id="Microsoft.AspNet.Identity.EntityFramework" version="2.1.0" targetFramework="net45" />
</packages>

Kuruluş Hesabı kimlik doğrulamasının eski bir biçimini algılamak için bağlı hizmet şu öğeyiweb.config arar:

<configuration>
    <appSettings>
        <add key="ida:Realm" value="***" />
    </appSettings>
</configuration>

Kimlik doğrulama türünü değiştirmek için uyumsuz kimlik doğrulama türünü kaldırın ve bağlı hizmeti yeniden eklemeyi deneyin.

Daha fazla bilgi için bkz . Azure AD için Kimlik Doğrulama Senaryoları.