Как можно использовать httpcook ie с указанными c данными? - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть повар ie, но мне нужен повар ie внутри UserID,

Я пишу в Cook ie UserID, и мне нужен доступ на каждой странице этого ID пользователя.

Я могу получить доступ к своему повару ie "ответ", но эти данные очень большие, мне нужно быть просто ответом внутри идентификатора пользователя.

Это мой код:

public IActionResult Index()
    {
        string cookie = HttpContext.Request.Cookies["response"];
        ViewData["Cookie"] = cookie;
        return View();
    }

Я ищу эту тему и нахожу способ,

Это новый код, но он не работает.

            var computername = HttpContext.Request.Cookies["response"].Value;

Это другой способ поиска, но он не работает.

      int User_id;
        HttpCookie reqCookies = HttpContext.Request.Cookies["response"];
        if (reqCookies != null)
        {
            User_id = reqCookies["UserID"].ToString();
            ViewData["Cookie"] = User_id;

        }

Как получить доступ к UserID 53?

Это мой файл cookie;

  1. Kim Dağıtıcı Ad De Ader
  2. Furkan LOCAL AUTHORITY http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier c557cfef-fa95-4b5a-8dce-fe01bfa94737
  3. Элемент списка FURKAN LOCAL AUTHORITY http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

4.Furkan Внутренний ID пользователя 53

1 Ответ

0 голосов
/ 04 февраля 2020

Первый : Я не вижу, где вы сохраняете данные в Cook ie, прежде чем хотите прочитать их значение

Second : Сохранить Cook ie как Объект, а затем после получения снова приведите его к этому объекту и выберите желаемое свойство

. Я использовал в качестве примера UserDTO в качестве моего пользовательского объекта, который содержит пользовательские данные

после входа в систему

public IActionResult Login(UserDTO user)
{
    ...

    // after validating and login success
    var cookie = new HttpCookie("response", user);
    cookie.Expires = DateTime.Now.AddDays(30);
    Response.Cookies.Add(cookie); // use here Response.Cookies not Request.Cookies
    ...

    return View();
}

public IActionResult Index()
{
    var cookie = HttpContext.Request.Cookies["response"] as UserDTO; // must be the same type when set its value
    ViewData["Cookie"] = cookie;
    return View();
}

и в представлении

var computername = HttpContext.Request.Cookies["response"].Value as UserDTO; // to prevent casting exception .. will return null if cast faild
if(computername != null) 
{
    computername.Name;// will return Kim 
    computername.UserId;// will return 53 
}
...