1

我遇到了一个无法自行解决的问题。

我在虚拟机上运行了这个网站(ASP.NET)。该网站还可以......直到我弄清楚一件事......

这些应用程序在 Windows 8 的 IE 上不起作用,我不知道为什么。

这是错误的描述:

“此应用程序不支持无 cookie 表单身份验证”

系统确实使用 cookie 来保存用户数据。web.config 文件是这样设置的:

<sessionState cookieless="UseCookies" mode="StateServer"
              sqlConnectionString="SessionState" timeout="45" />

角色管理器(系统也会在 cookie 上保留角色):

<roleManager enabled="true" defaultProvider="SCAProvider" 
             cookieRequireSSL="false" cacheRolesInCookie="true" 
             cookieTimeout="45" cookieProtection="All">

验证:

<authentication mode="Forms">
    <forms name="AutenticacaoNFo" protection="All" requireSSL="false"
                 slidingExpiration="true" loginUrl="login.aspx" path="/" 
                 timeout="45" />
</authentication>

这是发生问题的代码部分......根据stackTrace:


public void FormsAuthentication_OnAuthenticate(object sender,
FormsAuthenticationEventArgs  args){

  if (FormsAuthentication.CookiesSupported)
  {

    if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
    {
      try
      {
        FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(
          Request.Cookies[FormsAuthentication.FormsCookieName].Value);

        args.User = new System.Security.Principal.GenericPrincipal(
          new Samples.AspNet.Security.MyFormsIdentity(ticket),
          new string[0]);
      }
      catch (Exception e)
      {
        // Decrypt method failed.
      }
    }
  }
  else
  {

    throw new HttpException("Cookieless Forms Authentication is not " +
                            "supported for this application.");
  }
}

这可能是我错过的一件简单的事情......但我真的看不到错误......谢谢你的时间。

PS.:网站仍然可以在任何浏览器上正常运行,Windows 8 IE 除外。

4

0 回答 0