Custom FormsAuthenticationTicket的FormsAuthentication问题

时间:2011-05-19 15:59:01

标签: asp.net-mvc-3

我可能只是累了,没有看到这有什么问题所以也许你们大家可以给我一个想法。

 public class AuthTicket : IAuthTicket
{
    #region IAuthTicket Members

    public string CreateAuthenticationTicket(string userName, bool persistent, string userData)
    {
        var formsAuthenticationTicket = new FormsAuthenticationTicket(1, userName, DateTime.Now,
                                                                      DateTime.Now.AddDays(5), persistent, userData,
                                                                      FormsAuthentication.FormsCookiePath);
        var encryptedTicket = FormsAuthentication.Encrypt(formsAuthenticationTicket);

        return encryptedTicket;
    }

    #endregion
}

// This is injeted in the ctor
string authTicket = _authTicket.CreateAuthenticationTicket(userId.ToString(), true,
                                                                           registerOpenIdUserViewModel.DisplayName);
                Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName,authTicket));


                return RedirectToAction("Index", "Home");

在我的控制器动作中 我有部分@ Html.ActionLink(“注销”,“LogOff”,“帐户”) 在LogOff的Action中,我只是拥有 FormsAuthentication.SignOut

这里有问题,SignOut没有删除AuthTicket,我仍然看到cookie而用户无法注销.. :)很酷呃?

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我只是手动强制在我的代码中删除cookie。

Roles.DeleteCookie(  );