分享一下cookies操作(增、删、改、查)小经验
前段时间在做一个 SSO(Single Sign On),用cookies去存Token
网站保存用户信息这类都用的cookies
以前觉得cookies操作无非就那么几种,但是“杯具事件”还是很多的
下面分享一下对cookies的简单操作
-----------------------------------------------------操作-----------------------------------------------------------
1.添加cookies(用cookies方式去做sso,用户信息保存,修改都会依赖cookies)
#region##添加cookeis///<summary>/// 添加cookeis///</summary> public void AddCookies() { HttpCookie cookies = new HttpCookie("Porschev"); cookies["name"] = "Zhong Wei"; cookies["sex"] = "1"; cookies.Expires = DateTime.Now.AddMinutes(20); Response.Cookies.Add(cookies); }#endregion
添加cookies一般不会有人出错的。。。记得添加Expires就行
2.修改cookies( 在程序中难免会操作,对用户信息的修改,更新数据库后,也会修改cookies,为了修改后的显示)
方法一:
#region##修改cookies///<summary>/// 修改cookies///</summary> public void ModCookies() { HttpCookie cookies = Request.Cookies["Porschev"]; cookies["name"] = "wilson Z"; }#endregion
新建个测式页。。再取cookies中的name,结果:wilson Z;
这是这次项目中遇到的“杯具”事件之一,当这样修改cookies时,在更新方法中再取这个名为Porschev的cookies,
name的值还为Zhong Wei而非wilson Z,页面显示也不对(己排除页面缓存原因,更新也确实没有成功)
修改方法一:
#region##修改cookies///<summary>/// 修改cookies///</summary> public void ModCookies() { HttpCookie cookies = Request.Cookies["Porschev"]; cookies["name"] = "wilson Z";//加上下面一句 Response.Cookies["Porschev"].Expires = DateTime.Now.AddMinutes(-1); }#endregion
再次测式,结果正确,取出name的值为:wilson Z,页面显示也正确
自己理解:得让以前存入过期时间为20min的cookies失效
3.得到cookies (这个最简单,为求方法完整,还是写上吧)
#region##得到cookies///<summary>/// 得到cookies///</summary> public void GetCookies() { HttpCookie cookies = Request.Cookies["Porschev"];string name = cookies["name"]; //通过key取出对应value,多key同理取 }#endregion
4.删除cookies (删除cookies网上有很多方法,但是删除不是都能管用)
方法一:(最常用的一个删除cookies方法)
#region##删除cookies///<summary>/// 删除cookies///</summary> public void DelCookeis() { if (Request.Cookies["Porschev"] != null) { HttpCookie cookies = new HttpCookie("Porschev"); cookies.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(cookies); } }#endregion
在项目中测式,删除部分cookies失败,很无语,于是换一种方法
#region##删除cookies///<summary>/// 删除cookies///</summary> public void DelCookeis() { foreach (string cookiename in Request.Cookies.AllKeys) { HttpCookie cookies = Request.Cookies[cookiename];if (cookies != null) { cookies.Expires = DateTime.Today.AddDays(-1); Response.Cookies.Add(cookies); Request.Cookies.Remove(cookiename); } } }#endregion
测式:删除成功
自己理解:方法一只能删除提当前Response中的cookies,不对完成删除掉客端的cookies,用遍历cookies的方式可以
方法一定对,己经过项目实际验证,观点不一定正确,如理解有误,请各位指正!!
分享一下cookies操作(增、删、改、查)小经验相关推荐
- 表单的增 删 改 查
django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...
- properties(map)增.删.改.查.遍历
import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...
- python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...
实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...
- PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理
笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...
- Linux技术--mysql数据库增-删-改-查
# mysql 数据库 ## 数据库的操作 ### 五个单位 * 数据库服务器 Linux或者 windows * 数据库 * 数据表 * 数据字段 * 数据行 ### 连接数据库 ``` 1 ...
- 简单的php数据库操作类代码(增,删,改,查)
数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...
- Python 操作 Elasticsearch 实现 增 删 改 查
Github 地址:https://github.com/elastic/elasticsearch-py/blob/master/docs/index.rst 官网地址:https://elasti ...
- python_操作MySQL 初解 之__类方法调用并 增-删-改-查
文件一: 调用(sqls文件) 1 # 导入模块 2 import pymysql 3 from sqls import * 4 # 创建类 5 class KaoShi(object): 6 7 # ...
- list 增 删 改 查 及 公共方法
1 # 热身题目:增加名字,并且按q(不论大小写)退出程序 2 li = ['taibai','alex','wusir','egon','女神'] 3 while 1: 4 username = i ...
- pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能
文章目录 1 redis docker 部署与安装 2 py - redis的使用 2.1 redis的连接 2.2 常规属性查看 2.2.2 关于删除 2.3 STRING 字符串的操作 2.4 H ...
最新文章
- 推荐几个MySQL大牛的博客
- 应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序
- 为什么Python类语法应该不同?
- 设计模式——设计模式之禅day1
- [科技部与你共成长] 数组循环移位
- 【Verilog HDL】深入理解部分语法规则的本质
- 一文搞懂 PyTorch 内部机制
- 怎么把JSP的参数:先传到JSP中,然后传给后台
- A+B for Matrices
- 暴力破解(一)——python脚本暴力破解 加密的zip压缩文件
- CSDN技术分享——程序员如何快速上手区块链底层技术?
- 陈新宇:CKafka在人脸识别PAAS中的应用
- MyBatis官方文档
- 微信小程序怎样生成体验版二维码?微信小程序怎么转化为二维码?
- Mac上最好的方式下载BT上的音乐
- Kubernetes【容器运行时】Kata Containers 与 gVisor
- 创造力的分类:机器学习技术在发散思维EEG数据中的应用
- 华为交换机基础学习命令(ensp)
- python变量的声明和赋值
- 串口调试助手 Alien V0.238