【发布时间】:2015-06-26 09:45:36
【问题描述】:
我在 SO 上阅读了很多关于如何应用基本身份验证的帖子。
我已经生成了这段代码,但它没有显示登录页面,只显示了一个白页。我使用的凭据在浏览器中工作,所以这不是问题。我的代表没事。
我不知道我的代码在哪里失败:
override func viewDidLoad() {
super.viewDidLoad()
webView.delegate = self
self.loadPage()
}
func loadPage() {
let url = "mypage.com/auht/Logon.do"
let request = NSMutableURLRequest(URL: NSURL(string: url)!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData, timeoutInterval: 12)
webView.loadRequest(request)
}
// MARK: NSURLConnectionDelegate Delegates
func connection(connection: NSURLConnection, willSendRequestForAuthenticationChallenge challenge: NSURLAuthenticationChallenge) {
if challenge.previousFailureCount == 0 {
authenticated = true
let credential = NSURLCredential(user: "m.rinaldi13", password: "299792,458km/s", persistence: NSURLCredentialPersistence.ForSession)
challenge.sender.useCredential(credential, forAuthenticationChallenge: challenge)
} else {
challenge.sender.cancelAuthenticationChallenge(challenge)
}
}
// MARK: Web View Delegates
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if authenticated == nil {
authenticated = false
NSURLConnection(request: request, delegate: self)
return false
}
return true
}
任何帮助/提示将不胜感激!
【问题讨论】:
标签: ios objective-c iphone swift basic-authentication