2

所以我刚刚开始使用 VS 2012 和 .NET 4.5 开发一个新的 ASP.NET 项目。默认开发服务器是 IIS Express。我正在使用表单身份验证,它适用于我以前在 .NET 4.0 上运行、在 VS 2010 上开发并在 Cassini 上调试的项目。对于我的一生,我无法弄清楚为什么表单身份验证无法在 IIS Express 上运行。

条件是:

  • 我使用默认的身份验证票
  • 我在Chrome中签入,登录时cookie就在那里,注销时就消失了。原谅我是个菜鸟,但这就是它应该的工作方式,对吧?
  • 我在我的 IIS Express 上启用了匿名身份验证和 Windows 身份验证(我在我的项目文件上打开了属性面板并从那里进行设置)

每次我登录并尝试访问受保护的页面时,我都会被弹回到我的登录页面。所以我在我的登录页面中设置了一个断点,Page_Load并看到每次登录后,Request.IsAuthenticated仍然评估为 FALSE。

是什么赋予了?

4

1 回答 1

0

找到了!

事实证明,我已经FormsAuthentication.Encrypt()返回 null。所有这一切都是由我手动构建票证并将UserData字段设置为空引起的。UserData不能为空。

于 2013-10-10T11:29:31.617 回答