有关 Session 操作的几个误区
HttpSessionState 内部使用 NameObjectCollection 类型的集合对象来存储用户数据。因此使用 this.Session["username"] = null 仅仅是将该元素的值设为 null 而已,并没有真的将其从 Session 中移除。(为什么?晕~~~ 建议看看 C# 基础方面的书。)
正确的方法是:this.Session.Remove("username");
删除全部数据:this.Session.RemoveAll(); 或 this.Session.Clear();
2. this.Session.Abandon()
该方法会导致当前 Session 被取消,系统会触发 Global.asax 中的 Session_End 事件(仅限于 Mode = InProc 时)。
尽管再次发出请求时 SessionID (可能)没有发生变化,但是你会发现 Global.asax Session_Start 事件被触发。你还可以使用 this.Session.IsNewSession 属性来判断当前 Session 是否重新创建的。
由于某些组件和控件可能要使用 Session 信息(如使用 this.Session.SyncRoot 进行同步),因此不要轻易使用该方法清理 Session。
3. 用户身份验证
不要使用 this.Session["username"] = "ZhangSan" 、if (this.Session["username"] != null) 这样的方式进行用户身份验证,这种方式既不安全也不合理。有关身份验证请参考 MSDN 文档或雨痕写的相关文章。
转载于:https://www.cnblogs.com/chjun2000/archive/2011/07/30/2122113.html
有关 Session 操作的几个误区相关推荐
- C#有关Session 操作的几个误区【转】
1. this.Session["username"] = null HttpSessionState 内部使用 NameObjectCollection 类型的集合对象来存储用户 ...
- php session操作类,操作Session的PHP类
这个是一个php对session的再次包装的类,实现的常用的session操作,包含读取,写入,销毁等等 class Session { function Session() { session_st ...
- Flask中的session操作
https://www.cnblogs.com/notzy/p/9187304.html 一.配置SECRET_KEY 因为flask的session是通过加密之后放到了cookie中.所以有加密就有 ...
- session保存密码_年薪百万之路--第六十四天 Cookie操作与session操作
forms组件源码 切入点:form_obj.is_valid() """ def is_valid(self):"""Returns Tr ...
- bboss 会话管理session操作使用示例
bboss 会话管理session操作使用示例(遵循servlet标准规范): HttpSession session = request.getSession();//request.getSess ...
- Flask-中session的工作机制和session操作
1.把敏感的数据经过加密后放入session中,然后在把session存放到cookie中,下次请求的时候,再从浏览器发送过来的cookie中读取session, 然后再从session中读取敏感数据 ...
- php session操作
启动 Session 会话,并创建一个 $admin 变量: <?php // 启动 Session session_start(); // 声明一个名为 admin 的变量,并赋空值. $ ...
- 三、通过session操作hibernate(hql语句)
在没有将spring和hibernate整合在一起的时候,要使用hibernate,在持久层需要如下步骤: 一.在还没有对hibernate进行spring的整合的时候,我们需要写一个session工 ...
- 【实战篇】执行计划3种看法,2种操作,4个误区
1五一长假 本人绝对不是 996 的崇尚者,该工作的时候,高效工作(尽管高效是自认为的):该浪的时候,疯狂得浪.正所谓学要学得尽兴,玩要玩得开心(虽然可能鲁迅没说过这话). 虽然摄影艺术不咋的,却是一 ...
最新文章
- 90.386(32位)的保护模式 (286是过渡24位) 91.什么是实模式
- 国产linux 中标麒麟安装.net core sdk
- 网络位置可以看到另一个人的电脑_计算机组成原理(一)- 冯·诺依曼体系结构...
- webase crud查看所有表_Laravel-Gii 可视化代码生成工具 CRUD +GUI
- Oracle行迁移和行链接
- python更新到哪个版本了_将Python自带版本(2.6.6)升级到2.7.9
- 杭电1716排列2 stl
- 小议C++中函数的参数的传递
- mysql 取出当前第几列_mysql 获取表有多少列
- Python 实现定时任务
- 怎么用软件设计班旗_设计制作:班旗设计
- iOS 中可能用到的数学公式(绝对值、平方、取整、正余弦)
- 小米数据收集利器:AgentSource
- python中怎么画一个机器猫_用python画机器猫--哆啦A梦,开干!
- 三极管自激振荡升压电路笔记
- 分享一个非常不错的手机定位网
- ThinkPHP 导入的几种方法
- 【全球品牌】圣经中人物的名字有哪些?
- 计算机应用数学 教材,计算机应用数学(第2版)
- Docker入门详细教程,全网最全!