7

我對一個簡單的應用程序使用基本身份驗證,但它停止在iOS 7上的Web應用程序模式下工作。它在Safari中工作,它在Safari上作爲獨立Web應用程序在iOS 6上運行,但在遷移到iOS後爲 它只顯示白色屏幕。iOS 7上Web應用程序中的HTTP基本認證破壞?

有沒有人遇到同樣的問題?

回答

0

我遇到了完全相同的問題。將用戶名和密碼放入您的網絡應用程序的url中時,它起作用

1

我發現通過從iis中刪除windows auth,並且只留下設置爲域的基本域來解決此問題。

試試看。

1

我認爲這可能與here描述的對話問題有關。

標準對話框根本不工作,如警報,確認或提示。

顯示用於認證用戶的登錄提示可能被阻止(不起作用或不可見),這就是Web應用未通過身份驗證階段的原因。

我想蘋果將不得不在未來的版本中修復這個bug。

編輯:升級到iOS 7.0.3後,基本身份驗證在主屏幕Web應用模式下突然重新開始工作。顯示登錄提示符並按預期工作。

1

這對我有用。

+ (void) setBasicAuth 
{ 
    NSURLCredentialStorage* store = 
    [NSURLCredentialStorage sharedCredentialStorage]; 

    NSURLCredential* creds = 
    [NSURLCredential credentialWithUser:@"user" 
           password:@"pass" 
          persistence:NSURLCredentialPersistenceForSession]; 

    NSURLProtectionSpace* protectionSpace = 
    [[NSURLProtectionSpace alloc] initWithHost:@"your-host" 
              port:80 
             protocol:@"http" 
             realm:@"Your Realm" 
          authenticationMethod:NSURLAuthenticationMethodDefault]; 

    [store setCredential:creds forProtectionSpace:protectionSpace]; 
}