.net的FormsAuthenticationTicket session、cookies验证用户信息用法的区别

简介:


FormsAuthenticationTicket session、cookies为3种常用的验证用户登陆的方法,下边说一下他们的区别:

 
1)FormsAuthenticationTicket 是。net framework2.0及其以上版本中固有的验证机制,其本质是把用户的cookies信息加密存储在客户端,这样可以部分降低服务器端的内存消耗,不必像session那样把用户信息存储在服务端内存当中,而其数据的安全性则有微软来保证,详细用法请参考msdn官方文档: http://msdn.microsoft.com/zh-cn/library/system.web.security.formsauthenticationticket_members(v=vs.80).aspx
 
2)session 使用session存储用户信息使用发放简便,可在含有http上下文的任意位置添加session对象,并且可以把对象赋予session,因为session为object类型,可被任意对象赋值,session本质上其实是在服务器端内存中开辟一段存储区用于存放session的值,而在客服端(浏览器)留下一个cookies标记,该标记为服务器端的session的一个id,不是session对象的具体内容,这样相对于数据安全来说相对安全,但也只是相对,这样做会对服务器端内存有所消耗,但影响应该不是很大,除非你的网站同时在线人数很多。不过session机制还是有一些缺陷,iis 中由于有进程回收机制,系统繁忙的话Session会丢失, IIS重启也会造成Session丢失。这样用户就要重新登录或者重新添加购物车、验证码等放到Session中的信息。所以微软才推荐使用FormsAuthenticationTicket票据方式来验证用户登陆。
 
3)cookies 以上2种方式都间接的使用了cookies,使用cookies来验证用户身份时,记得最好加密一下,除非你设定cookies的过期的时间,不然还是很容易被黑客所利用,造成不必要的用户信息泄露。但cookies存储数据的大小有限制,平均下来不超过4K,有的浏览器支撑比较高,但那也只是有的不是所有浏览器都是,咱们只能取最小值。
 
 
以上只是本人的拙见,不对之处希望大家给予指教,共同进步



本文转自 tongling_zzu 51CTO博客,原文链接:http://blog.51cto.com/tongling/1159266
相关文章
|
6月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
88 0
|
6月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
88 0
|
22天前
|
网络协议 大数据 网络架构
桥接模式和NET模式的区别
桥接模式和NET模式的区别
28 0
|
2月前
|
数据采集 JSON API
.NET 3.5 中 HttpWebRequest 的核心用法及应用
【9月更文挑战第7天】在.NET 3.5环境下,HttpWebRequest 类是处理HTTP请求的一个核心组件,它封装了HTTP协议的细节,使得开发者可以方便地发送HTTP请求并接收响应。本文将详细介绍HttpWebRequest的核心用法及其实战应用。
114 6
|
3月前
|
开发框架 前端开发 中间件
聊聊 ASP.NET Core 中间件(二):中间件和筛选器的区别
聊聊 ASP.NET Core 中间件(二):中间件和筛选器的区别
102 1
|
3月前
|
开发框架 前端开发 .NET
闲话 ASP.NET Core 数据校验(二):FluentValidation 基本用法
闲话 ASP.NET Core 数据校验(二):FluentValidation 基本用法
|
4月前
|
开发框架 安全 Java
.net和java有什么样的区别?
Java和.NET在本质、编程语言、生态系统与工具、跨平台性、应用领域、性能与效率以及安全性与可靠性等方面都存在明显的区别。选择哪个平台取决于具体的需求、技术栈和目标平台。
292 7
|
5月前
|
存储 开发框架 .NET
ASP.NET Session的认识和解释
ASP.NET Session的认识和解释
40 1
|
4月前
|
开发框架 .NET API
.NET Core 和 .NET 标准类库项目类型有什么区别?
在 Visual Studio 中,可创建三种类库:.NET Framework、.NET Standard 和 .NET Core。.NET Standard 是规范,确保跨.NET实现的API一致性,适用于代码共享。.NET Framework 用于特定技术,如旧版支持。.NET Core 库允许访问更多API但限制兼容性。选择取决于兼容性和所需API:需要广泛兼容性时用.NET Standard,需要更多API时用.NET Core。.NET Standard 替代了 PCL,促进多平台共享代码。
|
5月前
|
机器学习/深度学习 JSON 测试技术
CNN依旧能战:nnU-Net团队新研究揭示医学图像分割的验证误区,设定先进的验证标准与基线模型
在3D医学图像分割领域,尽管出现了多种新架构和方法,但大多未能超越2018年nnU-Net基准。研究发现,许多新方法的优越性未经严格验证,揭示了验证方法的不严谨性。作者通过系统基准测试评估了CNN、Transformer和Mamba等方法,强调了配置和硬件资源的重要性,并更新了nnU-Net基线以适应不同条件。论文呼吁加强科学验证,以确保真实性能提升。通过nnU-Net的变体和新方法的比较,显示经典CNN方法在某些情况下仍优于理论上的先进方法。研究提供了新的标准化基线模型,以促进更严谨的性能评估。
141 0