我正在編寫一個(gè)使用Forms Authentication的Asp.net MVC 2應(yīng)用程序,目前我的iPhone應(yīng)用程序在通過Web進(jìn)行身份驗(yàn)證/登錄時(shí)遇到問題。我們已經(jīng)開發(fā)了一個(gè)使用UIWebView控件的簡單iPhone應(yīng)用程序。在此階段,所有應(yīng)用程序要做的就是導(dǎo)航到我們的Asp.Net網(wǎng)站。簡單吧?問題是,用戶無法通過登錄頁面。復(fù)制步驟為:打開iPhone應(yīng)用程序。該應(yīng)用程序?qū)Ш降街黜摗S脩粑赐ㄟ^身份驗(yàn)證,因此將他們重定向到登錄屏幕/頁面用戶輸入正確的用戶名和密碼。點(diǎn)擊提交。在服務(wù)器端,使用FormsAuthentication.GetAuthCookie對(duì)用戶進(jìn)行身份驗(yàn)證并生成cookie并將其發(fā)送給客戶端。服務(wù)器發(fā)送被重定向以將用戶發(fā)送到正確的主頁。但用戶然后被重定向返回到登錄界面!我已經(jīng)對(duì)此進(jìn)行了一些廣泛的調(diào)試,我知道的是:cookie正在發(fā)送到客戶端,并且客戶端正在存儲(chǔ)cookie。在iPhone調(diào)試器中以及通過使用Javsascript在頁面上顯示cookie數(shù)據(jù)進(jìn)行了驗(yàn)證。cookie被發(fā)送回服務(wù)器。在Visual Studio調(diào)試器中對(duì)此進(jìn)行了驗(yàn)證。它是正確的cookie(與設(shè)置的cookie相同)。盡管auth cookie包含在Request對(duì)象中,由于某種原因,屬性User.Identity.IsAuthenticated仍返回false。我已驗(yàn)證iPhone應(yīng)用程序已設(shè)置為接受Cookie,并且它們?cè)诳蛻舳松?。這是一件有趣的事情:如果您在iPhone上打開Safari瀏覽器并直接轉(zhuǎn)到我們的網(wǎng)站,它會(huì)很好地工作。它在iPad上也具有相同的行為,因?yàn)樗粫?huì)超出登錄屏幕。在仿真器和設(shè)備上都如此。該網(wǎng)站已經(jīng)通過IE 7-8,Safari(適用于Windows),Blackberry,IEMobile 6.5,Phone 7進(jìn)行了測試,并且可以正常運(yùn)行。唯一無法使用的情況是iPhone應(yīng)用程序中的UIWebView。
3 回答

尚方寶劍之說
TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
我們發(fā)現(xiàn)的解決方案是創(chuàng)建一個(gè)文件(generic.browser),并包含此xml以告知Web服務(wù)器“ Mozilla”和“默認(rèn)瀏覽器”設(shè)置均應(yīng)支持cookie。
<browser refID="Mozilla" >
<capabilities>
<capability name="cookies" value="true" />
</capabilities>
</browser>
- 3 回答
- 0 關(guān)注
- 509 瀏覽
添加回答
舉報(bào)
0/150
提交
取消