FormsAuthentication.Encrypt(ticket) 返回 null

这几天在研究ASP.NET MVC4,碰到这个问题。

 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                            2,
                            service.UserId,
                            DateTime.Now,
                            DateTime.Now.AddDays(7),
                            true,
                            service.Token,
                            "/"
                            );

 string encryptedTicket = FormsAuthentication.Encrypt(ticket);

这个方法一直返回null,没有异常或其他提示

最后找到原因service.UserId为null。

如果(ticket.Name == null || (ticket.UserData == null)) || (ticket.CookiePath == null),方法FormsAuthentication.Encrypt就返回null。

posted @ 2013-09-04 10:16  碧落星痕  阅读(290)  评论(0)    收藏  举报