成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET Forms驗(yàn)證

開發(fā) 后端
本文介紹在ASP.NET Forms驗(yàn)證中,通常我們會使用ASP.NET自帶的Login控件來進(jìn)行驗(yàn)證。同時(shí),在web.config文件中,我們所有的Forms設(shè)置都設(shè)為默認(rèn)。

對于ASP.NET Forms驗(yàn)證,想必大家都非常的熟悉。然而,在控制用戶的(過期時(shí)間)expired time的時(shí)候,你是否遇到過一些奇怪的現(xiàn)象呢?雖說只是一個(gè)小小的cookie,但是其中可能有很多的東西你都不知道。今天我將和大家詳細(xì)討論一下cookie的注意點(diǎn)。

在ASP.NET Forms驗(yàn)證中,通常我們會使用ASP.NET自帶的Login控件來進(jìn)行驗(yàn)證。同時(shí),在web.config文件中,我們所有的Forms設(shè)置都設(shè)為默認(rèn)。現(xiàn)在,問題就來了。

1.為什么我明明點(diǎn)了"Remember me",而大概半個(gè)小時(shí)后,我又Log out了?

2.為什么我明明設(shè)置了timeout為無限期 e.g. 400000,為什么一兩天之后我又Log out了呢?

這是Forms驗(yàn)證中遇到的比較多的問題。下面,我就這兩個(gè)問題做一個(gè)詳細(xì)的解釋:對于問題一,首先我要闡明ticket和cookie的區(qū)別。cookie是一個(gè)容器,用來存放東西,它是保存在客戶端的。而ticket是具體的數(shù)據(jù),用來表示具體的驗(yàn)證信息,它是放在cookie這個(gè)容器中的。因而,在我們驗(yàn)證的過程中,以下事情發(fā)生了。首先,ticket被創(chuàng)造了,里面包含著用戶名等信息,同時(shí)它有一個(gè)過期時(shí)間。

然后,cookie被創(chuàng)造了,它同樣也有一個(gè)過期時(shí)間。***,將ticket保存在cookie中,并將此cookie發(fā)送到client的瀏覽器中。讀到這里,我想問題已經(jīng)很明白了,用戶的Log out就是因?yàn)闀r(shí)間過期的問題。但具體是誰的時(shí)間過期了呢?在我們ASP.NET web.config的設(shè)置中,timeout是cookie的過期時(shí)間(注意,默認(rèn)是30分鐘),而ticket的過期時(shí)間是無限的,因?yàn)槲覀冞x了"Remember me".這就是為什么雖然我點(diǎn)了"Remember me"。

但在30分鐘左右后,我仍然被Log out了,因?yàn)槲覀儾]有設(shè)置cookie的timeout.ticket和cookie,只要其中之一不是永遠(yuǎn)不過期,我們都無法實(shí)現(xiàn)永不過期。

當(dāng)我們解決了問題一后(假如手動(dòng)設(shè)置timeout="4000000"),我們又遇到了問題二。這又是什么原因呢?這得從ticket的加密解密機(jī)制說起。ASP.NET會使用一個(gè)machinekey來對cookie進(jìn)行加密,這個(gè)machinekey默認(rèn)是在application啟動(dòng)時(shí)隨機(jī)生成的。然后,ASP.NET會使用同一個(gè)machinekey進(jìn)行cookie進(jìn)行解密。正式因?yàn)檫@個(gè)key是application啟動(dòng)時(shí)隨機(jī)生成的才導(dǎo)致了問題二。試想,如果application recycle(重啟)了怎么辦?

ASP.NET會生成另一個(gè)key進(jìn)行解密,以前的cookie將不再有效,這就是問題二的原因了。知道了這個(gè),解決第二個(gè)問題的辦法就很簡單了,手動(dòng)設(shè)置一個(gè)特定的key.如:<machineKey validationKey="88CB6CA6CF403C5FBB41C2F62BB7FCFCA05DE7BE" decryptionKey="B8A7CF3816C57176" validation="SHA1" /> P.S. 網(wǎng)上也有些隨機(jī)生成key的站點(diǎn),如:http://www.aspnetresources.com/tools/keycreator.aspx.看到這里,大家是不是對ASP.NET Forms驗(yàn)證cookie有新的了解呢 :)

【編輯推薦】

  1. ASP.NET中的數(shù)據(jù)源控件
  2. 介紹ASP.NET的XML Web服務(wù)使用
  3. ASP.NET應(yīng)用程序的web.config文件
  4. 概述ASP.NET XML Web服務(wù)
  5. ASP.NET中實(shí)現(xiàn)HTTP請求
責(zé)任編輯:佚名 來源: 新浪科技
相關(guān)推薦

2009-08-05 16:17:29

ASP.NET For

2009-08-05 16:50:09

ASP.NET For

2009-08-05 15:29:33

ASP.NET For

2011-05-23 10:37:03

2012-04-16 09:54:26

2009-09-23 09:19:23

2009-08-05 13:09:17

ASP.NET應(yīng)用執(zhí)行

2009-07-27 17:25:53

ASP.NET驗(yàn)證控件

2009-03-09 13:46:31

RoutingWebASP.NET

2009-08-07 14:40:36

RegularExprASP.NET驗(yàn)證控件

2009-08-04 15:02:18

ASP.NET數(shù)據(jù)驗(yàn)證

2009-08-04 15:20:59

ASP.NET數(shù)據(jù)驗(yàn)證數(shù)據(jù)驗(yàn)證控件

2009-09-18 10:20:26

PRG數(shù)據(jù)驗(yàn)證

2009-07-29 12:55:44

ASP.NET身份驗(yàn)證

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-08-04 16:50:26

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計(jì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产一区999 | 国产精品欧美一区二区 | 免费成人毛片 | 中文字幕精品一区 | 91精品国产91久久综合桃花 | 一区二区三区国产好的精 | 99影视 | 欧美精品一二三区 | 日韩欧美手机在线 | 欧美一级欧美三级在线观看 | 亚洲精品久久久久久一区二区 | 久久亚洲精品久久国产一区二区 | 日韩视频成人 | 亚洲一区视频 | 91精品观看 | 米奇7777狠狠狠狠视频 | 日韩精品999 | 久久久这里都是精品 | 成人免费视频一区二区 | 一区二区三区四区免费在线观看 | 四虎首页| 久久国产精品72免费观看 | 色偷偷人人澡人人爽人人模 | 免费看日韩视频 | 一区二区三区在线免费观看 | 爱爱免费视频 | 国产视频91在线 | 色就是色欧美 | 午夜精品久久久久久久星辰影院 | 中文字幕欧美一区 | 中文在线视频 | 日本中出视频 | 日韩精品成人免费观看视频 | 一级无毛片 | 日韩视频专区 | 成人免费视屏 | 国产精品99久久久久 | 亚洲少妇综合网 | 亚洲狠狠丁香婷婷综合久久久 | 欧美a级成人淫片免费看 | 福利一区在线观看 |