我将我的第一个 ASP.NET MVC 应用程序上传到 App Harbor,它使用 FormsAuthentication 对用户进行简单的身份验证。
像往常一样,在需要身份验证的本地机器操作上表现良好,当我在 AppHarbor 上调整它们时,它们失败了。
我检查了访问时发布的身份验证 cookie 是否随请求一起发送,从图像中可以看出:
我的服务器端身份验证代码看起来像
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
1,
user.UserName,
DateTime.Now,
DateTime.Now.AddDays(1),
true,
user.UserName
);
string encTicket = FormsAuthentication.Encrypt(authTicket);
this.Response.Cookies.Add(
new HttpCookie(
FormsAuthentication.FormsCookieName,
encTicket)
{ Expires = authTicket.Expiration });
我从 AppHarbor 博客中阅读了不同的帖子,例如ASP.NET Forms Authentication Considered Broken,它说“harmflul”而不是它不起作用。
那么,我在这里做错了什么?