SORU
11 Kasım 2010, PERŞEMBE


Asp.Net iPhone UİWebView kullanırken Form kimlik Doğrulaması

Form kimlik Doğrulaması kullanan Asp.net MVC 2 bir uygulama yazıyorum ve şu anda web üzerinden giriş/kimlik doğrulama konusunda bizim iPhone uygulaması ile ilgili bir sorun yaşıyorum. Bu UİWebView kontrol kullanan basit bir iPhone uygulaması geliştirdik. Bu aşamada, uygulama yapar ASP.NET bizim web sitesine gidin. Basit, değil mi? Sorun kullanıcı giriş sayfasına geçmiş olsun. Yeniden oluşturma adımları:

  • İPhone uygulaması açın.
  • App giriş sayfasına gider.
  • kullanıcının kimliği, giriş ekranı/sayfasına yönlendirilir
  • Kullanıcı doğru kullanıcı adı ve parola girer. tıklama gönderin.
  • sunucu tarafında, kullanıcı kimliği ve bir çerez oluşturulur ve istemci için FormsAuthentication kullanılarak gönderilir.GetAuthCookie.
  • Sunucu doğru giriş sayfasına kullanıcı göndermek için yönlendirme vardır gönderir.

Ama daha sonra kullanıcı yönlendirilirGERİoturum açma ekranı!

Bu konuda kapsamlı bir hata ayıklama yaptım ve bildiğim tek şey:

Tanımlama bilgisi istemciye gönderilen ve istemci cookie. Javsascript sayfasında cookie verileri ile kullanmak için iPhone hata ayıklayıcı, bu da doğrulandı. Çerez sunucuya gönderilen. Visual Studio hata ayıklayıcı, bu doğrulanmadı. Doğru bir çerez ayarlanmış aynısı). Özellik Kullanıcı.Kimlik.Auth cookie İsteğinde bulunan döndürür rağmen nedense yanlış ısauthenticated, nesne. İPhone uygulaması çerezleri kabul edecek şekilde ayarlanmış doğrulanmış ve istemci vardır.

Burada komik olan şey şu ki: sen iyi iPhone Safari tarayıcısını açın ve sitemize doğrudan. eğer çalışır

İPad aynı davranışı giriş ekranı geçmek değil o da var. Bu cihazlar üzerinde öykünücüsünü ve repros.

Bu aynı web sitesi 7-8, Safari (Windows için), Blackberry, 6.5, Phone 7 ve çalışır İEMobile bulmak IE ile test edilmiştir. İşe yaramaz tek durum iPhone uygulaması UİWebView.

CEVAP
27 Ocak 2011, PERŞEMBE


Tam olarak aynı sorun, ama başka bir cihazla (NokiaN8) vardı, ve aynı zamanda Kullanıcı-Aracı geri problem takip.

IIS düzenli ifadeler-Kullanıcı Aracısı dizesi karşı eşleştirmek için kullanır. Sorunun kökü belirli bir aygıt için herhangi bir eşleşen düzenli ifadeler yoktu ve Varsayılan özellikler kullanıldığı maçın en düşük seviyelerden biri olarak sona erdi. Varsayılan özellikler tarayıcı çerezleri destek olmadığını söyledi.

Çözüm:

  1. Web projesi App_Browsers (sağ projeyi seçin: Add > Add ASP.NET Folder > App_Browsers) adında bir klasör ekleyin.
  2. Bu klasörün içinde bir dosya (sağ tıklatın, seçin: Add > New Item) ekleyin. Dosya adı herhangi bir şey olabilir, ama .browser bitiş olmalı.
  3. İyi eşleşen bir ifade ve doğru yetenekleri (veya Default değişiklik ekleyin) ekleyin.

İki örnek:

<browsers>
  <browser id="NokiaN8" parentID="Mozilla">
    <identification>
      <userAgent match="NokiaN8" />
    </identification>
    <capabilities>
      <capability name="browser" value="NokiaN8" />
      <capability name="cookies" value="true" /> 
    </capabilities> 
  </browser> 
</browsers>

Veya varsayılan değiştirin:

<browsers>
  <browser refID="Default"> 
    <capabilities> 
      <capability name="cookies" value="true" /> 
    </capabilities>
  </browser>
</browsers>

Daha fazla bilgi: Browser Definition File Schema

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • george sarintzotis

    george sarin

    2 Aralık 2007
  • ipsy

    ipsy

    1 EKİM 2012
  • LinusTechTips

    LinusTechTip

    25 Kasım 2008