Share via


Raporlama Servisleri içinde kimlik doğrulama

Kimlik doğrulama, kullanıcı hakkı için bir kimlik oluşturma işlemidir.Bir kullanıcının kimliğini doğrulamak için kullanabileceğiniz birçok teknikleri vardır.En yaygın yolu, parolalar kullanmaktır.Forms kimlik bilgileri doğrulaması uygulamak, örneğin, kullanıcıların kimlik bilgileri bilgilerini (genellikle bir oturum açma adı ve parolası ister bazı arabirim tarafından) sorgulayan uygulaması istediğinizde ve sonra kullanıcıların veritabanı tablo veya yapılandırma dosyası gibi bir veri deposu karşı doğrular.Kimlik bilgileri doğrulandı, kimlik doğrulaması işlemi başarısız olur ve kullanıcı Anonim kimlik varsayacağız.

Raporlama Servisleri içinde özel kimlik doğrulama

De Reporting Services, Windows işletim sisteminin işleme kimlik doğrulaması kullanıcıların tümleşik güvenlik veya aracılığıyla açıkça alma ve doğrulama kullanıcı kimlik bilgileri.Özel kimlik doğrulaması geliştirilen Reporting Services destekleyecek ek kimlik doğrulaması düzenleri.Bu güvenlik uzantısı arabirim üzerinden yapılabilecek IAuthenticationExtension.Tüm uzantıları devralmıyor IExtension temel arabirim için uzantıyı dağıtılan ve kullandığı rapor sunucusu.IExtension, yanı IAuthenticationExtension, üye Microsoft.ReportingServices.Interfaces ad.

Kimlik doğrulaması için birincil yol bir rapor sunucusu , Reporting Services olan LogonUser yöntem.Bu üye Reporting Services Web hizmet için kullanıcı kimlik bilgileri bilgileri iletmek için kullanılan bir rapor sunucusu doğrulama için.Bilgisayarınızın temel güvenlik uzantısı Implements IAuthenticationExtension.LogonUser , özel kimlik doğrulaması kodunu içerir.Forms kimlik doğrulaması örneğinde, LogonUser, bir veritabanında sağlanan kimlik bilgileri ve özel kullanıcı deposu karşı bir kimlik doğrulaması denetimi gerçekleştiren.Örnek uygulaması olarak LogonUser görünümler böyle:

public bool LogonUser(string userName, string password, string authority)
{
   return AuthenticationUtilities.VerifyPassword(userName, password);
}

Aşağıdaki örnek işlev, sağlanan kimlik bilgileri bilgilerini doğrulamak için kullanılır:

internal static bool VerifyPassword(string suppliedUserName,
   string suppliedPassword)
{ 
   bool passwordMatch = false;
   // Get the salt and pwd from the database based on the user name.
   // See "How To: Use DPAPI (Machine Store) from ASP.NET," "How To:
   // Use DPAPI (User Store) from Enterprise Services," and "How To:
   // Create a DPAPI Library" for more information about how to use
   // DPAPI to securely store connection strings.
   SqlConnection conn = new SqlConnection(
      "Server=localhost;" + 
      "Integrated Security=SSPI;" +
      "database=UserAccounts");
   SqlCommand cmd = new SqlCommand("LookupUser", conn);
   cmd.CommandType = CommandType.StoredProcedure;

   SqlParameter sqlParam = cmd.Parameters.Add("@userName",
       SqlDbType.VarChar,
       255);
   sqlParam.Value = suppliedUserName;
   try
   {
      conn.Open();
      SqlDataReader reader = cmd.ExecuteReader();
      reader.Read(); // Advance to the one and only row
      // Return output parameters from returned data stream
      string dbPasswordHash = reader.GetString(0);
      string salt = reader.GetString(1);
      reader.Close();
      // Now take the salt and the password entered by the user
      // and concatenate them together.
      string passwordAndSalt = String.Concat(suppliedPassword, salt);
      // Now hash them
      string hashedPasswordAndSalt =
         FormsAuthentication.HashPasswordForStoringInConfigFile(
         passwordAndSalt,
         "SHA1");
      // Now verify them. Returns true if they are equal.
      passwordMatch = hashedPasswordAndSalt.Equals(dbPasswordHash);
   }
   catch (Exception ex)
   {
       throw new Exception("Exception verifying password. " +
          ex.Message);
   }
   finally
   {
       conn.Close();
   }
   return passwordMatch;
}

Kimlik doğrulama akışı

Raporlama hizmetWeb s hizmet Rapor Yöneticisi ve rapor sunucusu tarafından Forms kimlik doğrulamasısını etkinleştirmek için özel kimlik doğrulaması uzantıları sağlar.

The LogonUser method of the Reporting Services Web service is used to submit credentials to the report server for authentication.Web hizmet http üstbilgileri (bir "çerez" olarak da bilinir) kimlik doğrulaması bileti geçirmek için sunucudan istemciye geçerliliği denetlenmiş oturum açma isteklerini kullanır.

Uygulamanız özel kimlik doğrulaması uzantısını kullanacak şekilde yapılandırılmış bir rapor sunucusu dağıtıldığında Web hizmet kullanıcıların kimlik doğrulaması yöntem aşağıda gösterilmiştir.

Reporting Services güvenlik kimlik doğrulaması akışı

Şekil 2'de gösterildiği gibi kimlik doğrulaması işlemi aşağıdaki gibidir:

  1. Web istemci uygulamasını çağıran hizmet LogonUser yöntem için kimlik doğrulaması kullanıcı.

  2. Web hizmet çağrısı yapar LogonUser kendi güvenlik uzantısı yöntem uygulayan sınıf özellikle IAuthenticationExtension.

  3. Uygulamanız, LogonUser doğrulamak için kullandığı yöntemi kullanıcı adını ve parolayı kullanıcı deposunda veya güvenlik yetkilisi.

  4. Üzerine başarılı bir kimlik doğrulaması, Web hizmet, bir çerez oluşturur ve oturum için yönetir.

  5. Web hizmet kimlik doğrulaması bileti uygulamaya http başlığı döndürür.

Zaman Web hizmet başarıyla bir kullanıcının kimliğini doğrular güvenlik uzantısı aracılığıyla izleyen istekler için kullanılan bir tanımlama bilgisi oluşturur.Rapor sunucusu güvenlik yetkilisi kendi çünkü tanımlama bilgisi içinde özel güvenlik yetkilisi korunmayabilir.Tanımlama bilgisi dönen LogonUser Web hizmet yöntemi ve kullanılan sonraki Web hizmet yöntem çağrıları ve url erişim.

Not

Tanımlama bilgisi iletim sırasında bozmasını önlemek için kimlik doğrulaması tanımlama bilgilerini dönen LogonUser aktarılan güvenli bir şekilde kullanarak Güvenli Yuva Katmanı (ssl) şifreleme.

Size erişim, rapor sunucusu özel güvenlik uzantısı yüklü olduğunda, url erişim yoluyla Internet Information Services (IIS) ve ASP.NET otomatik olarak iletilmesini'ı yönetmekimlik doğrulaması bileti. rapor sunucusu soap API erişiyorsanız, uygulamanız proxy sınıfının kimlik doğrulaması bileti yönetmek için ek destek içermelidir.soap API kullanarak ve kimlik doğrulaması bileti, bkz: "Web hizmeti ile özel güvenlik kullanma." yönetme hakkında daha fazla bilgi için

Forms kimlik doğrulaması

Forms kimlik doğrulaması türü olan ASP.NET kimlik doğrulaması, kimliği doğrulanmamış bir kullanıcı yönlendirilmiş bir html formu.Bir kez kullanıcı kimlik bilgileri bilgilerini sağlar, sistem kimlik bilgileri doğrulaması bileti içeren bir tanımlama bilgisi verir.Sonraki istekler, sistem tarafından kullanıcı önceden doğrulanmış, görmek için tanımlama bilgisi denetler rapor sunucusu.

Reporting Services Reporting Services API kullanılabilen güvenlik genişletilebilirlik arabirimlerini kullanarak Forms Authentication'u desteklemek üzere genişletilebilir.Genişletirseniz, Reporting Services Forms kimlik doğrulaması kullanmak için Güvenli Yuva Katmanı (ssl) ile kötü niyetli kullanıcılardan erişim sağlamasını engellemek için rapor sunucusu tüm iletişimler için kullanbaşka bir kullanıcının tanımlama bilgisi. ssl istemci ve rapor sunucusu birbirinin kimliğini doğrular ve diğer bilgisayarlar iki bilgisayar arasındaki iletişimin içeriğini okuyabilirsiniz emin olmak için etkinleştirir.Gönderilen tüm verilerin bir istemci kötü niyetli kullanıcılar, parola ya da verileri rapor sunucusu gönderilen müdahale edemez bir ssl üzerinden bağlantı şifrelenerek sağlanır.

Forms kimlik doğrulaması genellikle farklı Windows platformları için hesapları ve kimlik doğrulamayı desteklemek için uygulanır.Bir grafik arabirim erişim isteyen bir kullanıcıya sunulan bir rapor sunucusu, ve sağlanan kimlik bilgileri kimlik doğrulaması için güvenlik yetkilisine gönderilir.

Forms kimlik bilgileri doğrulaması, bir kişinin kimlik bilgileri bilgilerini girmek için mevcut olmasını gerektirir.Reporting Services Web hizmet ile doğrudan iletişim kuran katılımsız uygulamalarda, Forms kimlik doğrulaması bir özel kimlik doğrulama düzeni ile birleştirilmelidir.

Forms kimlik doğrulaması için uygun Reporting Services ,:

  • Saklamak ve sahip kullanıcıların kimliğini doğrulamak gerek duyduğunuz Microsoft Windows hesapları ve

  • Kendi kullanıcı arabirim formunuzu farklı sayfalar arasında bir oturum açma sayfa olarak vermesi gereken bir Web sitesi.

Form kimlik doğrulamasını destekleyen bir özel güvenlik uzantısı yazarken, aşağıdakileri dikkate alın:

  • Forms kimlik doğrulaması'nı kullanırsanız, anonim erişim üzerinde rapor sunucusu sanal dizini Internet Information Services (IIS) etkinleştirilmesi gerekir.

  • ASP.NET kimlik doğrulaması formları için küme olması gerekir.Siz ASP.NET kimlik doğrulamasısı Web.yapılandırma dosyası için rapor sunucusu.

  • Reporting Services can authenticate and authorize users with either Windows Authentication or custom authentication, but not both.Reporting Services does not support simultaneous use of multiple security extensions.

Ayrıca bkz.

Kavramlar