中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術文檔 > 網(wǎng)絡編程 > [asp.net]擴展Forms驗證
javascript 的幾種排序方法 回到列表 常用的匹配正則表達式和實例
 [asp.net]擴展Forms驗證

作者:planRED 時間: 2004-11-05 文檔類型:原創(chuàng) 來自:藍色理想

第 1 頁 使用Forms驗證存儲用戶自定義信息
第 2 頁 使用安全特性配合Forms驗證進行安全操作

1.使用Forms驗證存儲用戶自定義信息

Forms驗證在內(nèi)部的機制為把用戶數(shù)據(jù)加密后保存在一個基于cookie的票據(jù)FormsAuthenticationTicket中,因為是經(jīng)過特殊加密的,所以應該來說是比較安全的。而.net除了用這個票據(jù)存放自己的信息外,還留了一個地給用戶自由支配,這就是現(xiàn)在要說的UserData。

UserData可以用來存儲string類型的信息,并且也享受Forms驗證提供的加密保護,當我們需要這些信息時,也可以通過簡單的get方法得到,兼顧了安全性和易用性,用來保存一些必須的敏感信息還是很有用的。

下面來看怎么使用UserData,然后會給出一個實際使用的例子。

//創(chuàng)建一個新的票據(jù),將客戶ip記入ticket的userdata
FormsAuthenticationTicket ticket=new FormsAuthenticationTicket(
1,userName.Text,DateTime.Now,DateTime.Now.AddMinutes(30),
false,Request.UserHostAddress);
//將票據(jù)加密
string authTicket=FormsAuthentication.Encrypt(ticket);
//將加密后的票據(jù)保存為cookie
HttpCookie coo=new HttpCookie(FormsAuthentication.FormsCookieName,authTicket);
//使用加入了userdata的新cookie
Response.Cookies.Add(coo);

下面是FormsAuthenticationTicket構造函數(shù)的重載之一的方法簽名
public FormsAuthenticationTicket(
int version,
string name,
DateTime issueDate,
DateTime expiration,
bool isPersistent,
string userData
);

參數(shù)
version
版本號。
name
與身份驗證票關聯(lián)的用戶名。
issueDate
Cookie 的發(fā)出時間。
expiration
Cookie 的到期日期。
isPersistent
如果 Cookie 是持久的,為 true;否則為 false。
userData
將存儲在 Cookie 中的用戶定義數(shù)據(jù)

使用userdata也很簡單,F(xiàn)ormsIdentity的Ticket屬性就提供了對當前票據(jù)的訪問,獲得票據(jù)后就可以用UserData屬性訪問保存的信息,當然是經(jīng)過解密的。
((System.Web.Security.FormsIdentity)this.Context.User.Identity).Ticket.UserData

下面是一個具體的應用。

由于Forms驗證是通過cookie來進行的,它需要傳遞一個票據(jù)來進行工作。雖然票據(jù)是加密的,里面的內(nèi)容不可見,但這并不能阻止別人用一個假冒的身份使用票據(jù)(就像我們可以拿別人的鑰匙去開別人的鎖),比較常見的就是不同ip的用戶在不安全通道截獲了這個票據(jù),然后使用它進行一些安全范圍外的活動。

解決這個問題的辦法之一就是使用SSL來傳遞信息。

但是如果不能使用SSL呢?我們可以判斷ip和票據(jù)是否匹配,如果發(fā)出請求的ip是初次產(chǎn)生票據(jù)的ip,則沒有問題,否則就銷毀這個票據(jù)。

為此,我們需要在一開始處理登錄時將用戶的ip保存起來,這樣就可以在以后的請求中隨時驗證后繼請求的ip是否和初始ip相同。保存這個敏感ip的最佳場所當然是UserData啦,而驗證的時機則是在AuthenticateRequest事件發(fā)生時,即Global.aspx.cs中定義的處理此事件的Application_AuthenticateRequest方法中。

上面的示例實際上已經(jīng)是把用戶ip保存到了UserData中,下面是驗證的過程。

if(this.Request.IsAuthenticated)
{
if(((System.Web.Security.FormsIdentity)this.Context.User.Identity).Ticket.UserData !=this.Request.UserHostAddress)
{
System.Security.Principal.GenericIdentity gi=new System.Security.Principal.GenericIdentity("","");
string[] rolesi={};
System.Security.Principal.GenericPrincipal gpi=new System.Security.Principal.GenericPrincipal(gi,rolesi);
this.Context.User=gpi;
}
}

通過給GenericPrincipal空的GenericIdentity和roles使票據(jù)失效,這樣將強迫用戶重新登錄。為了測試這個方法,可以先把條件改為相等,看效果如何 :)

這個方法也有不足之處,具體為:

1.使用同一代理的用戶將擁有同一個ip,這樣就不能防范此類假冒攻擊了

2.如果用戶使用動態(tài)ip,則可能造成正常用戶被我們強行銷毀票據(jù)。不過總的來說,這個辦法還是比較可行的。

出處:藍色理想
責任編輯:冰點的冰藍色

上一頁 下一頁 使用安全特性配合Forms驗證進行安全操作

◎進入論壇網(wǎng)絡編程版塊參加討論

作者文章
[asp.net]擴展Forms驗證
.net 用戶控件(使用緩存)
用 DataSet 對象更新數(shù)據(jù)
關鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設計比賽 網(wǎng)頁制作 web標準 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大!熬•自然”設計大賽開啟
國際體驗設計大會7月將在京舉行
中國國防科技信息中心標志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻,送禮標配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:1/21個記錄/頁 轉到 頁 共2個記錄

藍色理想版權申明:除部分特別聲明不要轉載,或者授權我站獨家播發(fā)的文章外,大家可以自由轉載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權歸我站和作者共有。

轉載要求:轉載之圖片、文件,鏈接請不要盜鏈到本站,且不準打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯(lián)系,版權歸原作者所有,文章若有侵犯作者版權,請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關法律法規(guī)
·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
·本站評論管理人員有權保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權在網(wǎng)站內(nèi)轉載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2