2015-08-27 38 views
7

Mam naprawdę interesujący problem. Mamy witrynę stworzoną z sharepoint 2013. Używamy uwierzytelniania Windows - NTLM.Strona Sharepoint 2013 uwierzytelnianie NTLM javascript doPostBack nie działa w Safari i iPadzie

na stronie zawiera niestandardową discussionListWebPart mamy przycisk filtru którego używanie funkcji javascript doPostBack z webpart ClientID i filtr parametrów.

exp: __doPostBack ("ClientID", "parametry");

Kiedy przeprowadzamy filtrowanie, wystarczy, że webpart z listą dyskusyjną odsyła z powrotem i nie żąda żadnej części strony. Oznacza to, że strona nie zostanie ponownie załadowana. Tego właśnie się spodziewaliśmy.

Działa dobrze w IE 10 i chrome. Co więcej, mamy problem, gdy otwieramy tę stronę w dowolnym iPadzie. Przycisk filtru, którego używamy __doPostBack, ponownie ładuje stronę. Mają też problem z safari na komputerze.

- Kontrolowałem dostawców uwierzytelniania Windows IIS (8), istnieje tylko NTLM (No negatiate).

- Znalazłem kolejną dyskusję iOS 8/Safari 8 not working with ASP.NET AJAX-Extensions.

Po otwarciu witryny w Safari za każdym razem prosi o poświadczenia użytkownika. Jeśli mówię, zapamiętać hasło doPostBack działa dobrze.

Ale nie mogę tego zrobić w iPadzie. Więc problem nadal istnieje.

Nie widzę żadnego błędu konsoli w narzędziu dvl. Ale nie robi postBack. Po prostu odśwież stronę.

Pomóż rozwiązać ten problem. Dzięki.

Odpowiedz

0

Myślę, że twój problem nie jest związany z oddzwonieniem, myślę, że problemem jest iOS ma ograniczone (nie?) Wsparcie dla NTLM. Szybkie wyszukiwanie pokazuje mi cały bałagan ludzi, którzy napotkał ten problem i zwrócił ją na różne sposoby:

  1. Extend your SharePoint web application into an alternate zone
  2. Write an iOS app to handle the authentication manually for you
  3. Change the authentication on the SharePoint site to ADFS or something more iOS-friendly

Żaden z nich srebrna kula twoje poszukiwania, i wszystkie one wymagają zmiany o wiele więcej niż tylko kodu na twojej stronie internetowej, ale mam nadzieję, że wskaże ci to właściwy kierunek w przypadku, gdy nie ma "łatwego przycisku".

Edit: Gramatyka

+0

powodu jest radykalny, nie mogę robić żadnych zmian z metody uwierzytelniania, jestem zagubiony racji bytu pracował z powodzeniem „zapamiętaj mnie” podczas wprowadzania poświadczenia użytkownika na pierwszy raz. Oznacza to, że można tego dokonać za pomocą poświadczeń użytkownika buforującego. Ale jak? Nie wiem –

+0

Czy to działało na twoim iPadzie, kiedy mówisz "pamiętasz mnie"? Rozumiem, że twoje pytanie mówi, że masz obejście w Safari, gdy _nie_ na iPadzie, ponieważ powiedziałeś: "Ale nie mogę tego zrobić w iPadzie. Tak więc problem nadal istnieje. "Safari na urządzeniu innym niż iOS _nie jest takie samo jak Safari w systemie iOS. – jcwilbur

+0

Silnik jest taki sam, ale wersje są różne. Dziękuję jcwilbur. Problem nadal istnieje. Każda inna pomoc? –