.net mvc 利用cookie实现自动登录 退出后注销信息

1.登录Action中将用户信息加入到cookie中:

HttpCookie cookie = new HttpCookie("useridMsg");

cookie.Expires= DateTime.Now.AddDays(7);

cookie["userid"] = 你的用户id;

Response.Cookies.Add(cookie);

2.创建类CookieFilter并继承FilterAttribute和IActionFilter

实现抽象IActionFilter的方法 OnActionExecuted和OnActionExecuting

在OnActionExecuting中添加逻辑:

if(System.Web.HttpContext.Current.Request.Cookies["useridMsg"]!=null){

if(System.Web.HttpContext.Current.Request.Cookies.Get("useridMsg").Values["userid"]!=null){

HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies.Get("useridMsg");

filterContext.HttpContext.Session["MemberId"] = cookie.Values["userid"];

}

}

3.添加全局过滤器CookieFilter

在global内注册全局过滤器 RegisterGlobalFilters方法内添加代码: filters.Add(new CookieFilter());

4.退出Action

a.清除session Session.RemoveAll();

b.清除cookie

HttpCookie CookieMsg;

string cookieName;

for(int i=0;i<Request.Cookies.Count;i++){

cookieName = Request.Cookies[i].Name;

CookieMsg = new HttpCookie(cookieName);

CookieMsg.Expires = DateTime.Now.AddDays(-1);

Response.Cookies.Add(CookieMsg);

}

5.纯手打 可能有错 代码也没来得及优化和考虑安全问题

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-07 00:05:05

.net mvc 利用cookie实现自动登录 退出后注销信息的相关文章

iOS UIWebView 通过 cookie 完成自动登录验证

一些说明: 通过UIWebView登录后,会自动得到web服务器设置的cookie包括服务器中的seesionid. cookie不会自动保存在app里面,需要通过设置才能在下次启动app时获取. 自动登录,需要设置header,才能将cookie带给web服务器. 自动登录,需要web服务器端进行cookie验证方可登录. 实现流程: 1. 做好Sign in页面后,通过get或post递交表单给web服务器,可以通过下面的代码遍历得到的cookie. NSHTTPCookieStorage

cookie实现自动登录

有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机).实现这个功能关键就是服务端要识别客户的身份.而用Cookie是最简单的身从验证. 如果用户第一次登录,可以将用户名作为Cookie写到本地,代码如下: Cookie cookie = new Cookie("user", user); cookie.setMaxAge(365 * 24 * 3600); cookie.setPath("/

C#三种模拟自动登录和提交POST信息的实现方法

网页自动登录(提交Post内容)的用途很多,如验证身份.程序升级.网络投票等,以下是用C#实现的方法.       网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以用来提取网页HTML的组件比较多,常用的用WebBrowser.WebClient.HttpWebRequest这三个.以下就分别用这三种方法来实现:      1.WebBrowser是个"迷你"浏览器,其特点是Post时不用关心Cookie.内置JS等问题       WebBrows

Python利用cookie模拟网站登录

Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了 [[email protected]~]# cat cscook.py #!/usr/bin/python #-*- coding: UTF-8 -*- import cookielib import urlli

Android:利用SharedPreferences实现自动登录

主要代码: public class LoginActivity extends Activity { private EditText username; private EditText userpassword; private CheckBox remember; private CheckBox autologin; private Button login; private SharedPreferences sp; private String userNameValue,pass

利用cookie进行模拟登录并且抓取失败

首先是朋友发现每次对撞md5都要上网站登录然后进行对撞,感觉好麻烦,想写一个脚本,输入md5值直接输出 然后就上车了 1 模拟登录 老规矩,先要提交表单,进行抓包(我用的fiddler)进行抓包,看见了post的表单,但心血来潮,发现每次模拟登录都利用提交表单的形式好无聊,再加上前些日子写web,就想利cookie试试. 可以看出,这个cookie中, CNZZDATA3819543的ntime是时间, user相当于session,其他都一样,所以可以写出模拟登录的脚本了 import req

urllib库利用cookie实现模拟登录慕课网

思路 1.首先在网页中使用账户和密码名登录慕课网 2.其次再分析请求头,如下图所示,获取到请求URL,并提取出cookie信息,保存到本地 3.最后在代码中构造请求头,使用urllib.request发送包含cookie信息的请求 源码 # !/usr/bin/env python # -*- coding:utf-8 -*- """ 使用Cokie模拟登录 """ import urllib.request url="http://w

SpringMVC中使用Interceptor+Cookie实现在一定天数之内自动登录

一 简介 本篇文章主要介绍:在SpringMVC中如何使用Interceptor+Cookie实现在一定天数之内自动登录的功能.同时还介绍"如果校验失败则跳转到登录页面,在输入用户名.密码等完成登录之后又自动跳转到原页面"的功能实现 本次测试环境是SSM框架,在正式介绍本篇文章之前,建议需要熟悉以下前置知识点: Mybatis中使用mybatis-generator结合Ant脚本快速自动生成Model.Mapper等文件(PS:这是为了快速生成一些基本文件)   https://www

php登录页面cookie自动登录及验证

<?php //cookie实现自动登录 error_reporting(0);// 关闭错误报告(浏览页面出现notice可用此法消除) $user = $_POST['username'];$pwd = $_POST['password'];if ($user!=''&&$pwd!=''){if($_POST['remmber']==1){ header("Location:http://localhost/homework/login.php"); //转到