如何在Dot Net Core中编写和检查Cookie

时间:2018-09-05 14:13:32

标签: c# cookies .net-core

我正在尝试创建一个基本的cookie,并检查它在我的代码中是否可用,但是它不起作用,并且我怀疑缺少明显的东西。

private JwtSecurityToken GetJsonWebTokenFromCookie()
{
    var personId = 0;
    var jwt = new JwtSecurityToken();

#if DEBUG

    Response.Cookies.Append(".FAPPSOUSR", "pid=48527257", new CookieOptions
    {
        Domain = "localhost",
        Expires = DateTime.Now.AddDays(1),
        Path = "/",
    });

#endif

    var cookieValueFromContext = HttpContext.Request.Cookies[".FAPPSOUSR"];

    if (string.IsNullOrEmpty(cookieValueFromContext)) return null;

    if (Request.Cookies["pid"] != null)
    {
        var value = Request.Cookies["pid"];
        int.TryParse(value, out personId);
        if (personId == 0) return null;
    }

    jwt.Claims.Append(new Claim("nameid", personId.ToString()));
    return jwt;
}

这始终为空:

var cookieValueFromContext = HttpContext.Request.Cookies[".FAPPSOUSR"];

1 个答案:

答案 0 :(得分:0)

我在http cookie的顶部编写了包装程序,这有助于简化使用。它具有静音功能。

  • 强类型
  • 保护Cookie数据以保护
  • 轻松配置CookieManager的选项
  • 易于使用

尝试here

在启动类的配置服务中添加CookieManager

//add CookieManager
services.AddCookieManager();

获取Cookie对象

MyCookie objFromCookie = _cookieManager.Get<MyCookie>("Key");

设置Cookie对象

_cookieManager.Set("Key", cooObj, 60);

希望对您有帮助