我们有一个网站,利用OAM进行单点登录(基于表单的身份验证) . 当我们向WebGate / Access Server提交凭据时,授权成功,但是在执行身份验证后,表单操作(在身份验证方案中配置 - 使用passthrough:no)会返回服务器错误,而不是重定向到最初请求的URL .

如果我们使用Mini Opera,我们可以正确地进行身份验证和转发 .

许多Android手机(版本范围从1.5-2.2)以及随SDK提供的模拟器都会出现此问题 .

这被证明是一个真正的问题,因为Android手机上的默认浏览器无法访问我们的网站(这是唯一有这个问题的浏览器) .

我创建了一个基于WebView的自定义浏览器,希望看到客户端错误并尝试捕获每个可能的错误....没有显示....

我试图跟踪所有的http请求,发现请求中只有一个区别...... Android的WebView不会发送Connection:keep-alive的http标头 .

我在下面提供了一些跟踪信息......

有没有人遇到这个问题?有人解决了这个吗?对此问题的任何见解将不胜感激 . 蒂姆,谢谢

请求RAW数据 -

  • POST http:// MYSERVER / security / ATLAFunction HTTP / 1.1主机:MYSERVER:7777
    Accept-Encoding:gzip
    接受语言:en-US
    Cookies :ObSSOCookie = loggedoutcontinue
    Accept-Charset:utf-8,iso-8859-1,utf-16 ,; q = 0.7
    引用站点:HTTP://10.84.32.71:7777 / TPF / login.html的
    User-Agent:Mozilla / 5.0(Linux; U; Android 2.2; en-us; sdk Build / FRF42)AppleWebKit / 533.1(KHTML,类似Gecko)版本/ 4.0 Mobile Safari / 533.1
    来源:http:// MYSERVER
    接受:application / xml,application / xhtml xml,text / html; q = 0.9,text / plain; q = 0.8,image / png,/ *; q = 0.5
    内容类型:application / x-www-form-urlencoded
    内容长度:27
    UNAME = auser&PWD = appas

原始响应数据 -

  • HTTP / 1.1 503服务暂时不可用
    日期:2010年10月5日星期二14:26:12 GMT
    设置Cookie:ObSSOCookie = II%2F4n5pFreT6B6hOAumv6pI6CZh6l04VhyXHrCzuRUT5hDEHMK%2FJCX659uyCkxgIyJ8ywB3BKrHxorsCwZwivpn91t9Mu%2FCKT7PrY23S518xoBeOam26tr%2B0pSfCbo%2FZXLmFIxjHFOPHPGxi5tHrOlUroXXA9Fe0GZz3SbJLMgAkCw0euuAVewOHKIjoDh8MwAdGtL4lo%2BmHhk5kB316iFJ4Aljr7cQYpAp1r%2BVGD9FbLkYl4ekY5hrlNfwYS%2BVjnR0uSIFjc0toiKkGN33z7%2FiElh2Ue2iWQrpCRcgFpxE%3D;仅Http;路径= /;
    缓存控制:无缓存
    Pragma:没有缓存
    内容长度:312
    连接:关闭
    内容类型:text / html;字符集= ISO-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<HTML> <HEAD> <title> 503服务暂时不可用</ title> </ HEAD> <BODY> <h1>服务暂时不可用</ h1> <p>抱歉!服务器目前无法处理请求 由于服务器暂时过载或维护 . </ p> </ BODY> </ HTML>