Windows güvenliği kullanarak bir ASP.NET uygulamasının güvenliğini sağlama

Makale çevirileri Makale çevirileri
Makale numarası: 315736 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

ASP.NET, Microsoft Internet ile birlikte kullanılabilir Bilgi Hizmetleri (Web kullanıcılarının kendi tabanlı kimlik doğrulaması için IIS) Windows 2000 veya Windows Server 2003 kullanıcı hesabı kimlik bilgileri. ASP.NET yürütme alt yapısı da yapılandırılabilir Web kullanıcıları taklit veya eriştiği zaman Windows kimliğini kullanmak için veritabanları veya dosyalar gibi kaynakları.


Gereksinimleri

Aşağıdaki donanım, yazılım ve ağ gerekir Bu makaledeki yordamları gerçekleştirmek için altyapı:
  • Windows 2000 Server Service Pack 2
  • IIS 5.0
  • IIS 6.0 ile birlikte Windows Server 2003
  • Microsoft Internet Explorer 6.0
  • Microsoft Visual Studio .NET
Ayrıca aşağıdaki deneyim gerekir:
  • Visual Basic .NET ile ASP.NET geliştirme
  • IIS Yönetimi
  • Windows 2000 kullanıcı hesabı Yönetimi

Web Sitesi Nasıl Geliştirilir

Bu yordam, basit bir ASP.NET Web oluşturur. Uygulama, Windows kimlik doğrulaması kullanarak güvenli.
  1. Visual Studio .NET başlatın ve yeni bir görsel oluşturun "WindowsSite" adlı temel ASP.NET Web uygulaması
  2. Araç kutusundan diyagramın üzerine bir label denetimi sürükleyin. WebForm1.aspx Web formu ve sonra ID özelliğini ayarlamakauthUserPrincipalLabel.
  3. Araç kutusundan diyagramın üzerine ikinci bir label denetimi sürükleyin. WebForm1.aspx Web formu ve sonra ID özelliğini ayarlamakaspPrincipalLabel.
  4. Kod penceresini görüntülemek için WebForm1.aspx dosyasına çift tıklatın ve sonra Yukarıdaki sınıf bildirimini aşağıdaki Imports ifadesini ekleyin:
    Imports System.Security
    						
    Page_Load olay yordamına aşağıdaki kodu ekleyin:
    Dim authUserName As String
    Dim aspUserName As String
    authUserName = User.Identity.Name
    aspUserName = Principal.WindowsIdentity.GetCurrent.Name
    authUserPrincipalLabel.Text = "You are: " & authUserName
    aspPrincipalLabel.Text = "This page runs as: " & aspUserName
    					
  5. Projenin Web.config dosyasını görüntülemek ve bulunkimlik doğrulama öğe. Doğrulayın modu öznitelik, Windows'unbir değere sahiptir.
  6. Oluşturun ve kaydedin.
  7. Projeyi çalıştırın ve sonra sayfa olduğunu onaylayın. Aşağıdaki ileti görüntülenir:
    • İçinde Windows 2000
      Siz şunlardır:
      Bu sayfa olarak çalışır: DomainOrServer\ASPNET
    • İçinde Windows Server 2003
      Siz şunlardır:
      Bu sayfa olarak çalışır: DomainOrServer\NETWORK SERVICE
    Not Yok edilmiş olduğundan, kullanıcı adınızı görüntülenmez IIS tarafından kimliği doğrulanmış; Anonim erişim hala etkin.
  8. Proje durdurmak için Internet Explorer'dan çıkın.

Anonim erişimi devre dışı bırakma

Bu yordamda, IIS gerektirecek şekilde yapılandırır. Windows ile tümleşik kimlik doğrulaması WindowsSite sitesi.
  1. Visual Studio en aza indirmek ve daha sonra Internet Hizmetlerini Başlat Yönetimsel Araçlar program grubu yöneticisinden.
  2. Sunucunuz ve varsayılan Web sitesi genişletin, sağ tıklatın WindowsSite site ve sonra Özellikler' i tıklatın.
  3. WindowsSite özellikleri iletişim kutusunda Dizin Güvenliği sekmesinde "anonim erişim ve doğrulama denetimi" Düzenle düğmesini tıklatın bölümüne geçebilirsiniz.
  4. Temizlemek için tıklatın Anonim erişim onay kutusunda, doğrulayın Tümleşik Windows kimlik doğrulaması onay kutusu seçilir ve sonra Tamam' ı tıklatın.
  5. WindowsSite özellikleri iletişim kutusunu kapatmak için Tamam ' ı tıklatın.
  6. Visual Studio geçin ve sonra projeyi çalıştırın. Onayla sayfası aşağıdaki ileti görüntülenir:
    • İçinde Windows 2000
      Siz şunlardır: Windows kullanıcı adı
      Bu sayfa olarak çalışır: DomainOrServer\ASPNET
    • İçinde Windows Server 2003
      Siz şunlardır: Windows kullanıcı adı
      Bu sayfa olarak çalışır: DomainOrServer\NETWORK SERVICE
    Not Windows hesabınıza doğrulanan. Varsa, Windows, size Windows için soruluyor açmamış Kullanıcı adı ve parola.
  7. Proje durdurmak için Internet Explorer'dan çıkın.

Yetkilendirme

ASP.NET, yetkilendirme için izin vermek mümkündür ek ayarlar Web.config dosyasında kullanılabilir duruma getirdiğinizde uygulama dosya. Belirli kullanıcılara veya belirli gruplar erişim için bu ek izin ver ayarları. Aşağıdaki örnekler bu yeteneği açıklar. Erişim izni vermek için "Yöneticiler" adlı Windows NT grubunda bulunan tüm kullanıcılar Aşağıdaki kodu:
<configuration>
     <system.web>
       <authorization>
         <allow roles="domainname\Managers" />
         <deny users="*" />
       </authorization>
     </system.web>
   </configuration>
				
Yalnızca belirli kullanıcıların erişimine izin vermek için şu kodu kullanın:
<configuration>
     <system.web>
       <authorization>
         <allow users="domainname\user1,domainname\user2,domainname\user3" />
         <deny users="*" />
       </authorization>
     </system.web>
   </configuration>
				
Not Kullandığınızda, birden fazla rol veya kullanıcıların ba?vurabilirsiniz bir virgülle ayrılmış listesi.


Kimliğe bürünme özelliğini etkinleştirme

Bu yordam, WindowsSite uygulamayı yapılandırırsınız. erişim Windows kullanıcının kimliğine bürünmek için.
  1. Web.config dosyasını Visual Studio'da görüntülemek WindowsSite proje.
  2. Sonra aşağıdaki öğeyi ekleyinkimlik doğrulama öğe:
    <identity impersonate = "true" />
    					
  3. Web.config kaydedin.
  4. Projeyi çalıştırın. Sayfa ile görüntülendiğini doğrulayın Aşağıdaki ileti (ASP.NET yürütme alt yapısı kullanan Not, Sizin adınıza kaynaklara erişmek için Windows kimlik bilgileri):
    Siz şunlardır: Windows kullanıcı adı
    Bu sayfa olarak çalışır: Windows kullanıcı adı
  5. Proje durdurmak için Internet Explorer'dan çıkın.

Özel asıl atama hakkında

Bu yordam, WindowsSite uygulamayı yapılandırırsınız. özel güvenlik asıl adı kullanmak için:
  1. Bilgisayar Yönetimi özelliğini Başlat Yönetimsel Araçlar program grubu. Yeni bir Windows 2000 kullanıcı hesabı oluşturma "WindowsSite" adlı bir parola olarak "parola" (sunucu olup olmadığını unutmayın bir etki alanı denetleyicisi ve Active Directory Kullanıcıları ve Bilgisayarları'nı kullanın Aracı).
  2. Temizlemek için tıklatın Kullanıcı parolasını değiştirsin sonraki oturum açma onay kutusunu tıklatıp işaretini değiştirin.Not Seçtiğiniz özel patron izinleriniz olmalıdır Aşağıdaki Bilgi Bankası makalesinde açıklanmıştır:
    317012 BİLGİ: İşlem ve ASP
  3. WindowsSite hesabı oluşturulduktan sonra Kapat Bunu oluşturmak için kullanılan yönetim aracı.
  4. Web.config dosyasını Visual Studio'da görüntülemek WindowsSite proje.
  5. Düzenle kimlik öğesine Aşağıda okuyun:
    identity impersonate = "true"
           userName = "DomainOrServerName\WindowsSite"
           password = "password"/>
    
    Burada DomainOrServerName Her iki addır Windows 2000 veya Windows Server 2003 etki alanı (etki alanı ortamında) ve bilgisayarınız (veya bir çalışma grubu ortamında).
  6. Web.config kaydedin.
  7. Projeyi çalıştırın. Sayfa ile görüntülendiğini doğrulayın Aşağıdaki ileti:
    Siz şunlardır: Windows kullanıcı adı
    Bu sayfa olarak çalışır: DomainOrServerName\WindowsSite
    Not Aspnet_wp.exe kullanacak, Windows kimlik bilgileri sizin adınıza kaynaklara erişmek için belirtilen.
  8. Proje durdurmak için Internet Explorer'dan çıkın.
Not Üzerinde belirli bir kullanıcıyı taklit eden işlem kimliği bir iş parçacığı olması gerekir İşletim sisteminin bir parçası gibi davranma ayrıcalık.
  • Windows 2000 tarafından Varsayılan, Aspnet_wp.exe işlemi olarak adlandırılan bir bilgisayar hesabı altında çalışır. ASPNET.
  • Windows Server 2003'te varsayılan olarak Aspnet_wp.exe işlemi çalıştığı bir bilgisayar hesabı NetworkService olarak adlandırılır. Ancak, bu hesabı taklit etmek için doğru ayrıcalıklara sahip olmayan bir Belirli bir kullanıcı. Taklit çalışırsanız bir hata iletisi alırsınız bir Belirli bir kullanıcı.
Bu soruna geçici bir çözüm için aşağıdakilerden birini kullanın: yöntemleri:
  • İzin ver İşletim sisteminin bir parçası gibi davranmaayrıcalık ASPNET hesabına (en düşük ayrıcalıklı hesabı).

    Not Bu soruna geçici bir çözüm bulmak için bu yöntemi kullanabilirsiniz, ancak Microsoft, bu yöntem önermez.
  • Aspnet_wp.exe işlemi çalıştığı hesabı değiştirme Sistem altında <processModel>yapılandırma bölümünde hesap Machine.config dosyasının.</processModel>
ASPNET işlemi hakkında daha fazla bilgi için ziyaret edin aşağıdaki Microsoft Developer Network (MSDN) Web sitesi:
http://msdn2.microsoft.com/en-us/library/aa291339 (VS.71) .aspx

Sorun giderme

Bir ASP.NET Web sitesinde Windows Güvenlik daha gelişmiş (ve karmaşık) dosya izinleri NTFS kullanarak. Windows hesabınız varsa sahip bir ASP.NET Web sayfasında, IIS Okuma izinleri komutu sizin için Alternatif Windows kimlik bilgileri. Benzer şekilde, bir ASP.NET sayfası çalışırsa güvenlik sorumlusu ASP.NET yürütme alt yapısı tarafından kullanılan bir dosyaya erişim erişim için alternatif kimlik bilgileri istenir yok. NTFS izinleri alt bölümleri Web erişimi denetlemek için etkin bir yoldur Sitesi.

Referanslar

Windows kimlik doğrulaması kullanma hakkında daha fazla bilgi için bir ASP.NET Web site, ASP.NET Web uygulaması "Güvenlik" konusuna bakın .NET framework belgelerine ba?vurun.

Ayrıca, aşağıdaki MSDN Web sitesinde "Kimlik doğrulaması, ASP.NET: .NET güvenlik kılavuzu" makalesine bakın:
http://msdn2.microsoft.com/en-us/library/ms978378.aspx

Özellikler

Makale numarası: 315736 - Last Review: 25 Mayıs 2013 Cumartesi - Gözden geçirme: 4.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
Anahtar Kelimeler: 
kbconfig kbhowtomaster kbinfo kbsecurity kbweb kbmt KB315736 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 315736

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com