MVC5没有设置身份验证cookie值

时间:2016-05-30 18:19:11

标签: asp.net-mvc authentication cookies

我拿了一个空的MVC5项目,为它添加了一些代码,最终构建了一个小型的身份验证系统。我从我所知道的开始 - 好的旧表单auth,但我注意到在Set-Cookie中传递的.ASPXAUTH cookie是空的,并且到期日期设置为unix epoch。我认为这是MVC5的一个问题,并将其交换到Owin - 但问题似乎仍然存在,传递给客户端的cookie仍然如下所示:

Set-Cookie:.AspNet.ApplicationCookie=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT

owin身份验证部分看起来像这样(简化):

var claimsIdentity = new ClaimsIdentity(new[]
        {
            new Claim(ClaimTypes.Name, user.UserName),
        },
        DefaultAuthenticationTypes.ApplicationCookie,
        ClaimTypes.Name, ClaimTypes.Role);
claimsIdentity.AddClaim(new Claim(ClaimTypes.Role, user.Role.Name));
_authenticationManager.SignIn(new AuthenticationProperties()
    {
        IsPersistent = true,
        ExpiresUtc = DateTimeOffset.Now,
    }, claimsIdentity);
return RedirectToAction("Index", "Home", new {area = "Catalog"});

我已删除了FormsAuthentication模块,并在web.config中禁用了默认表单身份验证。

我在这里遗漏了什么吗?我的项目的简化移动部分看起来几乎与使用auth的默认MVC 5模板相同,只是没有使用身份...

0 个答案:

没有答案