繁体   English   中英

使用Android浏览器进行ASP.NET Forms身份验证

[英]ASP.NET Forms Authentication with Android Browser

我用一种简单的方法使用ASP.NET Forms Authentication。 身份验证使用cookie来存储凭据。

在以下浏览器中完美运行:桌面:Chrome,Safari,IE,...移动:iPhone浏览器,Opera Mobile ...

我按下按钮表单的身份验证,然后重定向到应用程序页面。

但是,在Android浏览器中,我按下按钮,什么也没有。

ASP.NET Forms身份验证的配置很简单:

<authentication mode="Forms">
 <forms loginUrl="MLogin.aspx"
     timeout="30"
     name=".MOBAUTH"
     path="/"
     defaultUrl="Main.aspx"
     cookieless="AutoDetect">
  <credentials passwordFormat="Clear">
   <user name="dev" password="123456"/>
  </credentials>
 </forms>
</authentication>
<authorization>
 <deny users="?" />
</authorization>

有谁知道可能会发生什么?

补充...

MLogin.aspx使用一种简单的方法来验证用户:

private void authenticate()
{
    if (FormsAuthentication.Authenticate("dev", this.txtPass.Text.Trim()))
        FormsAuthentication.RedirectFromLoginPage("dev", true);

    Response.End();
}

原因是Response.End()。 该功能过早地杀死了您的数据流。 完全没有必要。

不同的浏览器以不同的方式处理Response.End()。 有些人会渲染页面,即使您结束了流,有些也不会渲染它。

检查响应的Set-Cookie标题字段中的“expires”参数,并确保将手机设置为正确的时间和日期。 如果浏览器认为cookie已经过了它的到期日期,它就不会存储它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM