У меня есть приложение asp.net MVC3 с двумя пользователями Admin и General.Cookies сохраняется для обоих пользователей.
Ниже описано, как сохраняются мои куки.
Cookie.setCookie(No,DOB,User);
Иметь класс Cookie с методом setCookie
public static void setCookie(int No,DateTime DOB,string User)
{
HttpCookie MyCookie= new HttpCookie("MyCookie");
MyCookie["No"] = No;
MyCookie["DOB"] = DOB;
MyCookie["User"] = User;
MyCookie.Expires.Add(new TimeSpan(0,30,0));
HttpContext.Current.Response.Cookies.Add(MyCookie);
}
Выше мой код Setcookie.
MyCookie.Expires.Add(new TimeSpan(0,30,0));will give the default expiry time to 30 minutes.
То, что я пытаюсь сделать, - это когда пользователь нажимает кнопку «Выйти», cookie-файл должен быть полностью очищен, и пользователь не должен иметь возможность перейти к любому из разделов сайта, прошедших проверку подлинности.
Также я попробовал это, но бесполезно
MyCookie.Expires.Add(-1);
Но я попробовал это в моем методе SetCookie. Как я могу очистить куки, когда пользователь нажимает «Выйти».
Также я попытался создать метод выхода из системы в классе cookie, как показано ниже:
public static bool logout()
{
HttpCookie reqCookies = HttpContext.Current.Request.Cookies["MyCookie"];
reqCookies.Expires.AddDays(-1);
return true;
}
Здесь я пытаюсь использовать уже сохраненный файл cookie и просрочить его, установив .AddDays(-1);
И я использую if cookie.Logout()==true
и перенаправляю его в мой дом.
Но это дает мне следующую ошибку на RunTime
Добавленное или вычтенное значение приводит к непредставляемому DateTime.
Имя параметра: значение
Любые предложения / рекомендации о том, как мне достичь своей цели.