我遇到了一个无法解决的问题。
我在虚拟机上运行了这个WebSite(ASP.NET)。 webSite还行.....直到我弄清楚一件事......
应用程序无法在Windows 8的IE上运行,我不知道为什么。
以下是错误的描述:
“此应用程序不支持无cookie表单身份验证”
系统确实使用cookie来保存用户数据。 web.config文件是这样设置的:
<sessionState cookieless="UseCookies" mode="StateServer"
sqlConnectionString="SessionState" timeout="45" />
角色maneger(系统也确实在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。:像往常一样,webSite仍可在任何浏览器上运行,但Windows 8 IE除外。