如何使 IIS Express 使用窗体身份验证

本文关键字:窗体 身份验证 Express 何使 IIS | 更新日期: 2023-09-27 18:34:32

所以我刚刚开始使用VS 2012和.NET 4.5进行一个新的 ASP.NET 项目。默认开发服务器是 IIS Express。我正在使用表单身份验证,它适用于我以前在 .NET 4.0 上运行的项目,在 VS 2010 上开发,并在卡西尼号上调试。我一辈子都无法弄清楚为什么Forms Authentication在IIS Express上不起作用。

条件是:

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

并尝试访问受保护的页面时,我都会被退回到我的登录页面。所以我在登录页面的 Page_Load 处设置了一个断点,并看到每次登录后,Request.IsAuthenticated的计算结果仍然是 FALSE。

什么给?

如何使 IIS Express 使用窗体身份验证

找到了!

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