Forms kimlik doğrulaması bileti ve tanımlama bilgisi anlama


ASP.NET Destek Sesi sütunu


Forms kimlik doğrulaması bileti ve tanımlama bilgisi anlama

Bu sütunun ihtiyaçlarınıza özelleştirmek için Knowledge Base makaleleri ve Destek Sesi sütunu ve görmek istediğiniz konuları ilgilendiren konular hakkındaki fikirlerinizi gelecekte ele göndermek için sizi davet etmek istiyoruz. Fikir ve görüş İste formunu kullanarak gönderebilirsiniz. Bu sütunun alt form için bir bağlantı yoktur.

Giriş

Microsoft ASP.NET Support Voice köşesine hoş geldiniz! Ben ASP.NET geliştirici destek ekibinden Nilay B. Shah. Bir buçuk yıldan uzun bir süredir ASP.NET desteği ile birlikte çalışıyorum. Forms kimlik doğrulaması gerçekten harika bir kimlik doğrulaması özelliğidir. Bu makalede, Forms kimlik doğrulaması anahtarı ile Forms kimlik doğrulaması tanımlama bilgileri ve bunlarla ilgili ayarlar arasındaki ilişki gibi kullanıcıların Forms kimlik doğrulaması konusunda kafasını karıştıran bazı sorunlar ele alınmaktadır. ASP.NET destek ekibinin teknik yöneticisi Jerry Orman'a inanılmaz yardımları için teşekkür etmek istiyorum!

Çünkü çok yakından ilgili kişilerin bazen forms kimlik doğrulaması "bilet" ve "tanımlama bilgilerini" hakkında acaba? Bu gibi sorular üzerinden geldi: Herkes tanımlama bilgisinin süre sonu ve biletin sona erme tarihi arasındaki farkı açıklayabilir? Tanımlama bilgisi sona erdiğinde, kullanıcı oturum açma sayfasına yönlendirilir. Biletin sona erdiğinde ne olur? Ayrıca, tanımlama bilgisinin süre sonu yapacak? Ne SlidingUpdate gerçekten güncelleştirmesi mu?

Form kimlik doğrulaması aşağıdaki soruları cevaplamak için bu makalede bu iki yönü üzerinde odaklanır:
  • Forms kimlik doğrulaması bileti ve formlar kimlik doğrulama tanımlama bilgisi nedir? Nasıl ilişkilendirileceklerini?
  • Form kimlik doğrulaması bilet rolü nedir?
  • Tanımlama bilgisinin süre sonu ve biletin sona erme nasıl ilişkilendirilir?
  • Nasıl form kimlik doğrulama bileti bağlamında kayan zaman aşımı iş yapar ve kimlik doğrulama tanımlama bilgisini oluşturur?
  • Burada formlar kimlik doğrulama bileti ve formlar kimlik doğrulama tanımlama bilgisi zaman aşımı özelliği ayarlayabilir miyim?
  • Sorun senaryo: form kimlik doğrulaması yapılandırma dosyasında ayarlanan zaman aşımı öznitelik değeri önce zaman aşımına uğrayabilir

Forms kimlik doğrulaması bileti ve formlar kimlik doğrulama tanımlama bilgisi nedir? Nasıl ilişkilendirileceklerini?

Formlar kimlik doğrulama tanımlama bilgisi forms kimlik doğrulaması biletinin kapsayıcı ama bir şey değildir. Bilet her isteği ile formlar kimlik doğrulama tanımlama bilgisi değeri olarak geçirilir ve sunucuda form kimlik doğrulaması ile kimliği doğrulanmış bir kullanıcı tanımlamak için kullanılır.

Ancak, biz tanımlama bilgisi olmayan form kimlik doğrulaması kullanmayı seçerseniz, anahtar şifrelenmiş biçimde URL geçirilecektir. Bazen istemci tarayıcılarının tanımlama bilgilerini engellemek için tanımlama bilgisi olmayan form kimlik doğrulaması kullanılır. Bu özellik Microsoft .NET Framework 2.0 tanıtılmaktadır.

Daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:

Form kimlik doğrulaması bilet rolü nedir?

Forms kimlik doğrulaması bileti, ASP.NET uygulaması kim olduğunuzu bildirmek için kullanılır. Bu nedenle, bilet, Forms kimlik doğrulaması güvenlik Yapı bloğu olduğu.

Bilet şifrelenir ve sunucunun Machine.config dosyasının < machineKey > yapılandırma öğesi kullanılarak imzalandı. ASP.NET 2.0 decryptionKey ve yeni şifre çözme özniteliğini < machineKey > öğesinin formların kimlik doğrulama biletlerinde şifrelemek için kullanır. Şifre çözme özniteliğini kullanmak için bir şifreleme algoritması belirtmenizi sağlar. ASP.NET 1.1 ve 1.0 kullanan 3DES şifrelemesi yapılandırılabilir değildir. Anahtar değeri ile müdahale, sunucu üzerinde bilet şifresini çözmek için bir başarısızlık tarafından belirlenir. Sonuç olarak, kullanıcı oturum açma sayfasına yönlendirilir.


Uygulamanın bir Web çiftliğinde dağıtılmışsa, her sunucuda yapılandırma dosyaları < machineKey > etiketinde sırasıyla karma ve şifre çözme anahtarı için kullanılan validationKey ve decryptionKey öznitelikleri için aynı değeri paylaşan emin olmanız gerekir. Hangi sunucunun art arda gelen istekleri işleyecektir garanti edemez çünkü bunu yapmanız gerekir. FormsAuthenticationTicket şifreleme ve Web grubu dağıtımında dikkat edilecek noktalar hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:Aracılığıyla bir Yürüme yöntemlerinin anahtarlarını el ile oluşturmak için aşağıdaki Microsoft Bilgi Bankası makalelerinde bulunabilir:
312906 Forms kimlik doğrulaması kullanmak için Visual C# .NET kullanarak anahtarları oluşturmak nasıl

313091 Forms kimlik doğrulaması kullanmak için Visual Basic .NET kullanarak anahtarları oluşturmak nasıl

Formların kimlik doğrulama biletlerinde FormsAuthenticationTicket sınıfını kullanarak el ile oluşturulabilir. Daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:

Tanımlama bilgisinin süre sonu ve biletin sona erme nasıl ilişkilendirilir?

Kalıcı tanımlama bilgisi, durumunda bilet süresi dolmuşsa, tanımlama bilgisi de sona erecek ve kullanıcı oturum açma sayfasına yönlendirilir. Bilet tanımlama bilgisi istemci kutusunda depolanır burada kalıcı olarak işaretlenmişse, diğer tarafında, her zaman Web sitesine oturum açmak için aynı kimlik doğrulama tanımlama bilgisini tarayıcıları kullanabilirsiniz. Ancak, biz kalıcı olarak silmek için FormsAuthentication.SignOut yöntemini veya kalıcı tanımlama bilgileri açıkça kullanabilirsiniz.

FormsAuthentication.SignOut yöntemi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:Tanımlama bilgisi olmayan form kimlik doğrulaması, tarayıcı kapalıysa, bilet kaybolur ve sonraki istek yeni bir anahtar oluşturulur.

Nasıl form kimlik doğrulama bileti bağlamında kayan zaman aşımı iş yapar ve kimlik doğrulama tanımlama bilgisini oluşturur?

Kayan süre sonu özelliğinin tamamen aynı şekilde çalışır!

Bizi örnek alın: 5: 00'de oturum açma sayfasına erişilir, 00:00:00 Arası, 5:00:00: 00 zaman aşımı öznitelik 10 ve slidingExpiration özniteliği ise PM TRUE olarak ayarlanmış 10 sona. Şimdi herhangi bir Web sayfasına yeniden 5:05 at göz atıyorsanız, 00:00:00 Arası, tanımlama bilgileri ve bilet zaman aşımı süresi 5: 15'e sıfırlamak 00:00:00 PM.

Not: Web sayfasının yarısı sona erme süreden önce erişiliyorsa, biletin sona erme zamanını sıfırlanmayacak. Ön örnek yeniden 5:04 at herhangi bir Web sayfasına eriştiğinde, 00:00:00 Arası, tanımlama bilgileri ve bilet zaman aşımı süresi sıfırlanmayacak.

Daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:

Burada formlar kimlik doğrulama bileti ve formlar kimlik doğrulama tanımlama bilgisi zaman aşımı değerini ayarlayabilir miyim?

Yapabileceğiniz tek Web.config veya Machine.config dosyasında < form > etiketinin içinde ayardır. Bilet el ile oluşturulan sürece bu değişikliği bağlamda forms kimlik doğrulaması bileti veya tanımlama bilgisi zaman aşımı süresini belirler.

<!--forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
Daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:Bilet, FormsAuthenticationTicket sınıfını kullanarak el ile oluşturulursa, zaman aşımı süresi sona erme özniteliği ayarlanabilir. Bu değer, yapılandırma dosyalarında belirtilen zaman aşımı öznitelik değerini geçersiz kılar.

FormsAuthenticationTicket üyeleri hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:

Sorun senaryo: form kimlik doğrulaması yapılandırma dosyasında ayarlanan zaman aşımı öznitelik değeri önce zaman aşımına uğrayabilir

Forms kimlik doğrulaması biletinin el ile oluşturulursa, anahtarı zaman aşımı özelliği yapılandırma dosyasında ayarlanan değerleri geçersiz kılar. Bu nedenle, bu değeri yapılandırma dosyasında değerinden az ise, forms kimlik doğrulaması bileti yapılandırma dosyası önce zaman aşımı süresi dolacak değeri ve tersi öznitelik. Örneğin, Web.config dosyasında < form >timeout özniteliğini 30 için ayarlama ve biletin sona erme değeri 20 dakika olarak ayarlanmıştır varsayalım. Bu durumda, forms kimlik doğrulaması biletinin 20 dakika sonra sona erecek ve kullanıcı bundan sonra yeniden oturum açmanız gerekir.

İlgili bağlantılar

910439 Forms kimlik doğrulaması sorunlarını giderme

ASP.NET 891032 sorun giderme

301240 C# .NET kullanarak ASP.NET uygulamanızın form tabanlı kimlik doğrulaması uygulamak nasıl

308157 Visual Basic .NET kullanarak ASP.NET uygulamanızın form tabanlı kimlik doğrulaması uygulamak nasıl

Umarım bu bilgiler bazı ASP.NET formları kimlik doğrulama bileti ve tanımlama bilgisi ile ilgili karışıklık kolaylaştırıcı yardımcı bulundu. Destek Sesi sütunu olduğunuzu unutmayın! Her zaman, göndermek istediğiniz fikirler konularda ücretsiz havaya gelecekteki sütunları olarak veya kullanarak Microsoft Bilgi Bankası'nda
Bunu iste formu.