Как удалить куки при выходе из системы в Asp.Net MVC3 - PullRequest
5 голосов
/ 10 декабря 2011

У меня есть приложение 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. Имя параметра: значение

Любые предложения / рекомендации о том, как мне достичь своей цели.

Ответы [ 2 ]

8 голосов
/ 10 декабря 2011

Чтобы очистить файл cookie в ASP.NET, необходимо установить новый файл cookie с тем же именем с истекшим временем.

1 голос
/ 10 декабря 2011

Для этого вы можете использовать скрипт jquery cookie.

<a href="" onclick="removeCookie();">logout button</a>

function removeCookie(){
$.cookie('cookiename', '');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...