.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的用法
44 0
|
6天前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
43 0
|
6天前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
39 0
|
11月前
|
开发框架 JavaScript .NET
Asp.net 控件用法汇总-RadioButtonList、DropDownList、button、Checkbox...(续)
Asp.net 控件用法汇总-RadioButtonList、DropDownList、button、Checkbox...(续)
99 0
|
11月前
|
开发框架 JavaScript 前端开发
Asp.net 控件用法汇总-RadioButtonList、DropDownList、button、Checkbox...
Asp.net 控件用法汇总-RadioButtonList、DropDownList、button、Checkbox...
66 0
|
11月前
|
开发框架 安全 .NET
[牛腩]如何关闭.net framework4.0的请求验证
[牛腩]如何关闭.net framework4.0的请求验证
77 0
|
开发框架 JavaScript .NET
Asp.Net Core中Session使用
Asp.Net Core中Session使用
119 0
|
小程序 安全 API
.NET企业微信回调配置(数据回调URL和指令回调URL验证)(一)
.NET企业微信回调配置(数据回调URL和指令回调URL验证)
816 0
.NET企业微信回调配置(数据回调URL和指令回调URL验证)(一)
|
缓存 前端开发 API
.Net WebApi中使用Session使用
.Net WebApi中使用Session使用
255 0
|
6天前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
48 0