Makale numarası: 917412 - Son Gözden Geçirme: 03 Aralık 2007 Pazartesi - Gözden geçirme: 1.5

Form kimlik doğrulaması oturum açma sayfasına yönlendirilebilirsiniz veya .NET Framework 2. 0'ı kullanarak oluşturulmuş bir uygulamayı çalıştırmayı denediğinizde hata iletisi alabilirsiniz.

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Belirtiler

Microsoft .NET Framework 2.0 kullanılarak oluşturulan uygulama'nı çalıştırmayı denediğinizde, form kimlik doğrulaması oturum açma sayfasına yönlendirilebilirsiniz. Ayrıca, aşağıdakine benzer bir hata iletisi alabilirsiniz:
Sunucu hatası ' / WebSites1 ' uygulama.
--------------------------------------------------------------------------------

Object reference not set to an instance of an object. (Nesne başvurusu bir nesnenin örneğine ayarlanmadı.).

Açıklama:, Geçerli web isteği yürütülürken işlenmeyen bir özel durum oluştu. Lütfen hata ve kod içinde kaynaklandığı yer hakkında daha fazla bilgi almak için yığın izlemesini gözden geçirin.

Özel durum ayrıntıları: System.NullReferenceException: başvurusu bir nesnenin örneğine ayarlanmadı nesne.
Not Oturum aktiften çıkarmalar nedeniyle oluşan diğer sorunlar yaşayabilirsiniz.

Bu sorun varsa oluşabilir veya aşağıdaki koşulların her ikisi de doğrudur:
  • .NET Framework 1. 1 ' bir Web uygulamasının .NET Framework 2. 0'a geçirilir.
  • Bir komut dosyası, bir Java uygulaması kullanırsanız veya bir Microsoft ActiveX denetimi bir Web isteği gerçekleştirmek için istemci tarafında uygulama.

Neden

Bu sorun, oturum tanımlama erişmesini, herhangi bir istemci komut dosyası HttpOnly özniteliği engeller oluşur. Oturum tanımlama bilgisinde .NET Framework HttpOnly özniteliği eklenir 2.0.

Çözüm

Bu sorunu gidermek için <a0></a0>, oturum tanımlama bilgileri için HttpOnly özniteliği, false değerine ayarlayın.

NotHttpOnly özniteliği true değerine ayarlama kötü niyetli bir kullanıcının kötü amaçlı kullanıcı ağ kanal erişimi varsa, tanımlama bilgisini doğrudan erişmesini engellemez. Buna karşı korunmak için Güvenli Yuva Katmanı (SSL) kullanmayı düşünün. Iş istasyonu güvenlik de önemlidir. Kötü niyetli BIR kullanıcının, bir açık bir tarayıcı penceresi veya meşru kullanıcı kimliği'ni kullanarak bir Web sitesine erişmek için kalıcı tanımlama bilgileri içeren bir bilgisayar kullanıyor olabilirsiniz.

HttpOnly özniteliği için false değerini ayarlamak için aşağıdaki kodu kullanarak Global.asax dosyasında Session_Start yöntemini değiştirin.
   void Session_Start(object sender, EventArgs e)
        {
            if (Response.Cookies.Count > 0)
            {
                foreach (string s in Response.Cookies.AllKeys)
                {
                    if (s == System.Web.Security.FormsAuthentication.FormsCookieName || s.ToLower() == "asp.net_sessionid")
                    {
                        Response.Cookies[s].HttpOnly = false;
                    }
                }
            }
        }
Bu birden çok uygulama, kodu yeniden kullanmak istiyorsanız, özel bir sınıfta HttpModule bu kodu Not yerleştirin.

Daha fazla bilgi

HttpOnly öznitelik 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/system.web.httpcookie.httponly.aspx (http://msdn2.microsoft.com/en-us/library/system.web.httpcookie.httponly.aspx)
HttpModule 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/zec9k340(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/zec9k340(vs.71).aspx)
.NET Framework 2.0 ve HttpOnly özniteliğindeki son değişiklikler hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/netframework/aa497240.aspx (http://msdn2.microsoft.com/en-us/netframework/aa497240.aspx)
Bu makalede adı geçen üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft bu ürünlerin performans veya güvenilirliğiyle ilgili hiçbir garanti vermemektedir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft .NET Framework 2.0
  • Microsoft ASP.NET 2.0
Anahtar Kelimeler: 
kbmt kbprb kbbug kbinfo kbnofix kbtshoot KB917412 KbMttr
Otomatik TercümeOtomatik Tercüme
Ö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:917412  (http://support.microsoft.com/kb/917412/en-us/ )