ASP.NET 2.0 程序的基礎知識
成員關係的概念在人類社會中是一個層次比較低的概念,源於希望屬於某個羣組的意識。我們希望能覺得自己是某個團隊的一部分,讓別人知道我們是誰,因此Web搭上這個流行趨勢,採用這個概念只是時間早晚的問題。如果坐下來想一想曾經登錄過多少個站點並在這些站點上保存了簡單的用户信息,可能會發現自己所屬的羣組比一開始想象的要多得多。從出售書籍和小器具的站點到討論擁有一輛Ford Puma的好處的社區,或者宣傳一個名為Look Around You的BBC TV喜劇節目的站點,作者發現自己是會員的站點多得無法一一列舉。接下來就會碰到一個熟悉的困難“登錄這個站點要使用哪個用户名和口令?”
在開始開發涉及到成員關係的應用程序時,必須首先理解幾個關鍵的概念,這些概念是身份、驗證和授權。
1、身份——我是誰
在考慮身份時,我們可以用幾種獨一的特性來描述自己。例如,我是一個頭發金黃的女人,喜歡看科幻電影和組裝PC機,但這些信息對於對我的羽毛球技術感興趣的人來説並不是必需的。保存在站點中的身份信息很可能只與一個人的某些方面相關。例如,一個購物站點會保存用户的姓名、電話號碼、電子郵件地址和家庭地址,這些信息都與商品的銷售有關。它們可能不會關心您的個人興趣(除非它們和Amazon的規模一樣大),所以它們並不需要保存關於用户的這類信息,但是這並不妨礙它們擁有這些方面的身份信息。
因此身份,也就是我是誰的概念,是一組範圍很廣的實際情況的集合。您可能曾經在簡歷裏寫下了很多實際情況,但這些情況同樣只與潛在的僱主相關。在簡歷中保存和刪除哪些情況由自己決定。在保存一個站點的成員的信息時,情況也是一樣的,必須在開發階段就確定要保存成員的哪些實際情況。
2、身份驗證——這就是我
在試圖登錄一個網站的時候,用户要輸入某些證書。例如,郵件地址及其口令的組合。網站接下來必須判斷用户是否就是自己聲明的那個人,因此用户輸入的郵件地址和口令的組合必須與保存在服務器文件中特定的郵件地址和口令組合相匹配。
身份驗證的過程就是證明自己是自己所聲明的那個人的過程。很多站點,不論它們是零售商品還是提供社區服務,都使用郵件地址和口令的組合作為身份驗證方法,這是一種經過反覆考驗的方法。雖然這種方法不是絕對安全,但是隻要選擇一個足夠可靠的口令並嚴格保密,同時站點的代碼經過嚴格的測試,那麼用户的配置文件將只能由用户本人使用。
3、授權——這是我能做的'
在向網站輸入用户名和口令之後,Web服務器將不僅會驗證口令和用户名是否匹配,還將查看站點管理員給用户授予了什麼權限。身份驗證之後的下一個步驟是授權,這個步驟將檢索您所擁有的用户賬户類型的更多信息。
例如,以一個銀行網站為例。在用户的登錄信息通過驗證之後,服務器將查看用户在該站點上的權限。與大多數用户一樣,您可以查詢賬户、在賬户之間轉賬或者支付賬單。然而,如果銀行受到某個安全方面的恐嚇(類似於Internet上到處流傳的網絡釣魚(phishing)電子郵件),您可能會發現自己突然無法通過這個在線應用程序添加任何第三方代理訂單,直到安全危機解除為止。功能的關閉很可能是由管理員為一些或所有用户設置一個特殊的標記而進行控制的,在頁面上告訴用户他們不再有權限修改他們賬户的詳細信息。
4、登錄站點
登錄站點的過程,從用户的角度看,就是輸入一組證書,然後根據自己的配置文件看到不同用户界面的過程。通常,用户所使用的證書是用户名加口令的組合;然而,對於安全性更高的站點,例如銀行站點,可以使用其他的方式登錄,包括PIN和安全認證。如果不考慮向服務器傳送身份驗證證書的方法,那麼身份驗證的基本原則是一樣的。一旦驗證完成之後,通過身份驗證機制查詢用户具有什麼樣的權限就比較簡單了。
-
關於JavaScript中繼承的深入理解
JavaScript中我們可以藉助原型實現繼承。例如functionbaz(){="";}functionfoo(){}otype=newbaz();varmyFoo=newfoo();;這樣我們就可以訪問到baz裏的屬性oo啦。在實際使用中這個樣不行滴,由於原型的共享特點(數據保存在了堆上),所有實例都使用一個原型,一但baz的屬性...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
-
JavaScript 小型打飛機遊戲實現和原理説明
JavaScript小型打飛機遊戲實現和原理説明玩法説明:上下左右控制移動,空格發彈。每打中一個敵機就加100分,每提升5000分,玩家的飛機的一次發彈數就加一,最多四,被敵機撞到或者讓敵機飛到底部就算輸。。。。演示代碼:http://demo./js/FlyBeat/遊戲目前的功能還是比較簡...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
相關文章
- Unit1PastandPresent的牛津版八年級下冊英語知識點總結
- JAVA認證基礎知識:JavaNativeInterface學習小結
- Is a Test of Spoken English Necessary英語四級作文
- php中session的基礎知識
- 英語美文:愉快的精神狀態(A pleasant state of mind)
- ASP.NET MVC異常處理模塊簡單教程-ASP.NET教程實例推薦
- 關於 response方法的javascript asp教程第六課
- php中session的基礎知識大綱
- 新概念英語青少版2a課文Unit 04:The top three persent
- 在ASP.NETWeb應用程序中我應該用DataReader類還是DataSet類