SSL sonlandırması ve ASP.NET

Makale çevirileri Makale çevirileri
Makale numarası: 910444 - Bu makalenin geçerli olduğu ürünleri görün.
ASP.NET Destek Sesi Sütunu

SSL sonlandırması ve ASP.NET

Bu sütun için kendi gereksinimlerinize göre özelleştirmenin sizi ilgilendiren konular hakkındaki fikirlerinizi göndermeye davet etmek isteriz ve gelecekte Knowledge Base makaleleri ve Destek Sesi sütunu görmek istediğiniz sorunlar giderilmiştir. Kendi fikirleri ve Ask For It formunu kullanarak geri besleme gönderebilirsiniz. Formun alt kısmındaki bu sütunun. bağlantı da orada
Hepsini aç | Hepsini kapa

Bu Sayfada

ASP.NET Destek Sesi sütunu için Hoş Geldiniz! Benim Jerry Orman adıdır. BANA Microsoft'a beş yıl olan ve çoğu gibi Microsoft FrontPage ve Microsoft SharePoint Products and Technologies Web ile ilgili teknolojiler hakkında odaklanmış kullandığım zaman, harcadığınız. Geçen yıl olarak bir destek mühendisine Microsoft ASP.NET çalışan harcanan ISTIYORUM. Bu ay ı SSL sonlandırması ve ASP.NET hakkında konuşun gitme. Özellikle, sunucunun yapılandırmasından neden olan sorunları odaklanmak istiyorum. Biz SSL sonlandırması ve bu yapılandırmanın bazı yan etkileri uygulamanızın üzerinde atın gitme.

SSL sonlandırması kodunuzu çalıştıran Web sunucusuna gönderir ve HTTP üzerinden trafiği aldığında bir yapılandırmadır ve Web sunucunuz ve istemcileriniz arasında şifreleyen ve verilerin şifresini çözer aygıt yok. Bu yapılandırmada, istemciler gönderme ve HTTPS trafiğini alınıyor. SSL sonlandırması yapılandırma, aşağıdakine benzer:
Istemci < — HTTPS — > SSL aygıt < — HTTP — > Web sunucusu
Şimdi Microsoft ASP.NET 2. 0'Bu yapılandırmayla gelen iki sorunları ve bu davranışa geçici bir çözüm için birkaç yol sıralanmıştır edelim.

Sorun 1

ASP.NET 2.0 menü denetimi, bir menü öğesi üzerine getirdiğinizde, aşağıdaki hata iletisini alırsınız:
Bu sayfa hem güvenli hem de güvenli olmayan öğeler içeriyor. Güvenli olmayan öğeleri görüntülemek istiyor musunuz?
Uygulama güvenli SSL protokolünü kullanıyorsanız ve mutlak bir yol için bir HTTP yeniden oluşturma herhangi bir denetim eklediğiniz olması gerekiyorsa adresi. Bu iletiyle nedir?

Menü denetimi, bir iFrame nesnesine efektli menü oluşturmak için kullanılan bazı JavaScript gösterir, sorun değildir. Çerçeve başlangıç URL vermek zorunda. Sunucu SSL olmayan senaryoları için gereksiz bir yuvarlak geçiş yapmasını önlemek için <a0></a0>, komut dosyası kullanan hakkında: boş URL. Ancak, yukarıdaki hata almak için tarayıcı bunu güvensiz bir adresi değerlendirmektedir. Microsoft Windows SharePoint Services açısından bu sorun hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
837850Windows SharePoint Services veya SharePoint Team Services belge kitaplığında Explorer görünümü tıklatın, bir "Bu sayfa hem güvenli hem de güvenli olmayan öğeler içeriyor" iletisini alıyorsunuz
Menü denetim gösterir, JavaScript, Web sunucusu SSL aygıt yerine HTTPS trafiğini alan olan, bir iFrame nesnesine kaynağı için bir çalışma sayfasının bir HTTPS adresi sunucuda ayarlamak için bir kod satırı eklersiniz, çünkü ı SSL olmayan senaryolarda açıkça belirtin. Bu, başka bir isteği başlatan, ancak hata iletisi engeller. Bu tür bir ortam dağıtımı, JavaScript, hata iletisinin menü denetimi olan sayfaya bu kod ekleyerek önlemek için ek zorlayabilirsiniz.
 <script runat="server">
   protected override void Render(HtmlTextWriter writer) 
   {
        Page.ClientScript.RegisterStartupScript(typeof(Page), "MenuHttpsWorkaround", 
        Menu1.ClientID + "_Data.iframeUrl='https://myserver/someblankpage.htm';", true);
        base.Render(writer);
   }
</script>
 
Ideal olarak, bir AnaSayfa sınıfı veya sınıf UserControl menüde olabilir ve bu kod, yalnızca bir kez ekleyebilirsiniz.

Sorun 2

<forms>RequireSSL öznitelik varsa, bulabilirsiniz öğe true olarak ayarlanırsa, sunucu, FormsAuthentication oturum açma sayfasına yinelenen yönlendirmelerin ile yanıt verir. Bu değişikliği FormsAuthenticationModule yöntemi requireSSL özniteliği işleme biçimi nedeniyle oluşur. RequireSSL özniteliği true olarak ayarlarsanız, FormsAuthenticationModule yöntemi Güvenli özniteliği olan bir çerez oluşturur. (Bu davranış .NET Framework 1. 1'de olarak aynıdır.) Güvenli özniteliği kullandığınızda, istemci SSL kullanıyorsa, istemci yalnızca çerezi sunucuya geçirir. SSL istemci aslında kullandığından Bu, önemli bir parçasıdır. Anonim kullanıcıların erişemiyorum bir SecurePage.aspx sayfanız olduğunu varsayın. SSL iletişim kuralını ve requireSSL özniteliği ile aşağıdaki trafik SecurePage.aspx ilk isteğinden bulunan ile Bitiş:
— > Istemci GET isteğine SecurePage.aspx için yapar.

<— Sunucu, oturum açma sayfasına HTTP 302 (yeniden) ile yanıt verir.

— > Istemci GET isteğine Login.aspx için yapar.

<— Sunucusu ile bir 200 OK yanıt verir. Oturum açma sayfasını istemciye oluşturulur.

— > Istemci POST isteğini Login.aspx için yapar.

<— Sunucu 302 (yeniden) SecurePage.aspx için yanıt verir. Tanımlama bilgisi üstbilgisi kümesi ile gönderilenistemciye Güvenli özniteliği.

— > Istemci GET isteğine SecurePage.aspx için yapar. SSL istemci kullandığı için tanımlama bilgisi geçirildi.

<— Sunucu 302 (yeniden) oturum açma sayfasına yeniden gönderir.

FormsAuthenticationModule sınıfı bir değişiklik nedeniyle son isteğine redirect alın. ASP.NET 2. 0'ı kullanıcı güvenli bir tanımlama bilgisi SSL olmayan isteği geçirmeden durumda olup olmadığını belirlemek için ek bir denetim eklendi. FormsAuthentication.RequireSSL özelliği false olarak ayarlanırsa veya Request.IsSecure özniteliği true olarak ayarlanırsa, ASP.NET 2.0 FormsAuthenticationTicket sınıf döndürür.
  • RequireSSL öznitelik yanlış yapılandırma dosyasında ise FormsAuthentication.RequireSSL özelliği false olarak ayarlanır.
  • Web sunucusu SSL trafiğini alırsa Request.IsSecure özniteliği true olarak ayarlanır.
Bu senaryoda, Web sunucusu SSL trafiğini almak ve requireSSL özniteliği true olarak ayarlanırsa, çünkü her iki denetim, false döndürür. Sonuç olarak, FormsAuthenticationTicket sınıfı döndürülmez ve tanımlama bilgisi, Request.Cookies topluluğundan kaldırılır.

Kullanıcı oluşturma isteği bu noktada, kullanıcının kimlik bilgileri sunucu henüz doğrulanmadı, nedeni anonimdir. Isteğin ASP.NET kanal geçerken, UrlAuthorizationModule sınıfı kullanıcı sayfaya erişimi olup olmadığını denetler. Anonim kullanıcı SecurePage.aspx sayfa erişiminiz olmadığından, UrlAuthorizationModule sınıfı; oturum açma sayfasına yeniden yönlendirme 401 hatası iletiye ("erişim engellendi"), verir.

Bu davranışı engellemek için önce <forms>requireSSL özniteliği kaldırmak olması yapılandırma dosyasında bir etiket. Sonra program aracılığıyla Güvenli özniteliği üzerinde FormsAuthentication olan tanımlama bilgisi. Aşağıdaki kod bunu sizin için FormsAuthentication tanımlama bilgileri ve oturum tanımlama için yapar.
void Application_EndRequest(object sender, EventArgs e)
{
     if (Response.Cookies.Count > 0)
     {
          foreach (string s in Response.Cookies.AllKeys)
          {
               if (s == FormsAuthentication.FormsCookieName || s.ToLower() == "asp.net_sessionid")
               {
                    Response.Cookies[s].Secure = true;
               }
          }
     }
}

Referanslar

Menü denetimi hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/2xt3t8a7(vs.80).aspx
FormsAuthentication.RequireSSL özelliği requireSSL öznitelik hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthentication.requiressl.aspx
HttpRequest.IsSecureConnection özelliği IsSecure öznitelik hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/system.web.httprequest.issecureconnection(vs.71).aspx
FormsAuthenticationModule sınıfı hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthenticationmodule.aspx
UrlAuthorizationModule sınıfı hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/system.web.security.urlauthorizationmodule.aspx


SSL sonlandırması ve Microsoft ASP.NET kullanıyorsanız, bu bilgiler yararlı Umarım. Unutmayın, Destek Sesi sütunu olduğunuz! Her zaman olarak, fikirleri, gelecekte sütunları adreslenmiş istediğiniz konularla ilgili veya Ask For It formunu kullanarak Bilgi Bankası'ndaki gönderme bildirmekten çekinmeyin.

Özellikler

Makale numarası: 910444 - Last Review: 22 Kasım 2007 Perşembe - Gözden geçirme: 1.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 2.0
Anahtar Kelimeler: 
kbmt kbhowto kbasp KB910444 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:910444
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

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