freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

外文翻譯--網(wǎng)絡(luò)編程的技術(shù)解析(已修改)

2025-06-01 06:02 本頁面
 

【正文】 中文翻譯 1 中文 4960 字 網(wǎng)絡(luò)編程的技術(shù)解析 的身份驗證 的身份驗證有有三種,分別是 Windows | Forms | Passport,其中又以 Forms 驗證用的最多,也最靈活。 Forms 驗證方式對基于用戶的驗證授權(quán)提供了很好的支持,可以通過一個登錄頁面驗證用戶的身份,將此用戶的身份發(fā)回到客戶端的 Cookie,之后此用戶再訪問這個 web 應(yīng)用就會連同這個身份 Cookie 一起發(fā)送到服務(wù)端。服務(wù)端上的授權(quán)設(shè)置就可以根據(jù)不同目錄對不同用戶的訪問授權(quán)進(jìn)行控制了。 下面大概的看一下 Forms 的過程。 Forms 身份驗證基本原理: 要采用 Forms 身份驗證,先要在應(yīng)用程序根目錄中的 中做相應(yīng)的設(shè)置 : authentication mode=forms forms name=.ASPXAUTH loginUrl=/ timeout=30 path= / /forms/authentication 其中 authentication mode= forms 表示本應(yīng)用程序采用 Forms 驗證方式。 1. forms標(biāo)簽中的 name 表示指定要用于身份驗證的 HTTP Cookie。默認(rèn)情況下, name 的值是 .ASPXAUTH。采用此種方式驗證用戶后 ,以此用戶的信息建立一個 FormsAuthenticationTicket 類型的身份驗證票 ,再加密序列化為一個字符串 ,最后將這個字符串寫到客戶端的 name 指定名字的 Cookie 中 .一旦這個Cookie 寫到客戶端后 ,此用戶再次訪問這個 web 應(yīng)用時會將連同 Cookie 一起發(fā)送到服務(wù)端 ,服務(wù)端將會知道此用戶是已經(jīng)驗證過的 . 中文翻譯 2 再看一下身份驗證票都包含哪些信息呢 , 我 們 看 一 下FormsAuthenticationTicket 類 : CookiePath: 返回發(fā)出 Cookie 的路徑。注意,窗體的路徑設(shè)置為 /。由于窗體區(qū)分大小寫,這是為了防止站點中的 URL 的大小寫不一致而采取的一種保護(hù)措施。這在刷新 Cookie 時使用 Expiration: 獲取Cookie 過期的日期 /時間。 IsPersistent: 如果已發(fā)出持久的 Cookie,則返回 true。否則,身份驗證 Cookie將限制在瀏覽器生命周期范圍內(nèi)。 IssueDate: 獲取最初發(fā)出 Cookie 的日期 /時間。 Name: 獲取與身份驗證 Cookie 關(guān)聯(lián)的用戶名。 UserData :獲取存儲在 Cookie 中的應(yīng)用程序定義字符串。 Version: 返回字節(jié)版本號供將來使用。 2.forms標(biāo)簽中的 loginUrl 指定如果沒有找到任何有效的身份驗證Cookie,為登錄將請求重定向 到的 URL。默認(rèn)值為 。 loginUrl 指定的頁面就是用來驗證用戶身份的 ,一般此頁面提供用戶輸入用戶名和密碼 ,用戶提交后由程序來根據(jù)自己的需要來驗證用戶的合法性 (大多情況是將用戶輸入信息同數(shù)據(jù)庫中的用 戶表進(jìn)行比較 ),如果驗證用戶有效 ,則生成同此用戶對應(yīng)的身份驗證票 ,寫到客戶端的 Cookie,最后將瀏覽器重定向到用戶初試請求的頁面 .一般是用 方法來完成生成身份驗證票 ,寫回客戶端 ,瀏覽器重定向等一系列的動作。 public static void RedirectFromLoginPage( string userName, bool createPersistentCookie, string strCookiePath )。 其中 userName: 就是此用戶的標(biāo)示 ,用來標(biāo)志此用戶的唯一標(biāo)示 ,不一定要映射到用戶賬戶名稱 . createPersistentCookie: 標(biāo)示是否發(fā)出持久的 Cookie。若不是持久 Cookie, Cookie 的有效期 Expiration 屬性有當(dāng)前時間加上 中 timeout 的時間,每次請求頁面時,在驗證身份過程中,會判斷是否過了有效期的一半,要是的話更新一次 cookie 的有效期;若是持久 cookie, Expiration 屬中文翻譯 3 性 無 意 義 , 這 時 身 份 驗 證 票 的 有 效 期 有 cookie 的 Expires 決定,RedirectFromLoginPage 方法給 Expires 屬性設(shè)定的是 50 年有效期。 strCookiePath: 標(biāo)示將生成的 Cookie 的寫到客戶端的路徑,身份驗證票中保存這個路徑是在刷新身份驗證票 Cookie 時使用(這也是生成 Cookie 的 Path),若沒有 strCookiePath 參數(shù),則使用 中 path 屬性的設(shè)置。 這里可以看到 ,此方法參數(shù)只有三個 ,而身份驗證票的屬性有七個 ,不足的四個參數(shù)是這么來的 : IssueDate: Cookie 發(fā)出時間由當(dāng)前時間得出。 Expiration:過期時間由當(dāng)前時間和下面要說的 forms標(biāo)簽中 timeout 參數(shù)算出。此參數(shù)對非持久性 cookie 有意義。 UserData: 這個屬性可以用應(yīng)用程序?qū)懭胍恍┯脩舳x的數(shù)據(jù) ,此方法沒有用到這個屬性 ,只是簡單的將此屬性置為空字符串 ,請注意此屬性 ,在后面我們將要使用到這個屬性。 Version: 版本號由系統(tǒng)自動提供 . RedirectFromLoginPage 方 法 生 成 生 成 身 份 驗 證 票 后 , 會 調(diào) 用 方法,將身份驗證票加密為字符串,這個 字符串將會是以 .ASPXAUTH 為名字的一個 Cookie 的值。這個 Cookie 的其它屬性的生成:Domain, Path 屬性為確省值, Expires 視 createPersistentCookie 參數(shù)而定,若是持久 cookie, Expires 設(shè)為 50 年以后過期;若是非持久 cookie, Expires 屬性不設(shè)置。 生成身份驗證 Cookie 后,將此 Cookie 加入到 中,等待發(fā)送 到 客 戶 端 。 最 后 RedirectFromLoginPage 方 法 調(diào) 用 方法獲取到用戶原先請求的頁面,重定向到這個頁面。 3. forms標(biāo)簽中的 timeout 和 path,是提供了身份驗證票寫入到 Cookie 過期時間和默認(rèn)路徑。 中文翻譯 4 以上就是基于 Forms 身份驗證的過程,它完成了對用戶身份的確認(rèn)。下面介紹基于 Forms 身份驗證的訪問授權(quán)。 驗證了身份,是要使用這個身份,根據(jù)不同的身份我們可以進(jìn)行不同的操作,處理,最常見的就是對不同的身份進(jìn)行不同的授權(quán), Forms 驗證就提供這樣的功能。 Forms 授權(quán)是基于目錄的,可以針對某個目錄來設(shè)置訪問權(quán)限,比如,這些用 戶可以訪問這個目錄,那些用戶不能訪問這個目錄。同樣,授權(quán)設(shè)置是在你要控制的那個目錄下的 文件中來設(shè)置: authorization allow users=maseparated list of users roles=maseparated list of roles verbs=maseparated list of verbs / deny users=maseparated list of users roles=maseparated list of roles verbs=maseparated list of verbs / /authorization allow標(biāo)簽表示允許訪問,其中的屬性 1. users:一個逗號分隔的用戶名列表,這些用戶名已被授予對資源的訪問權(quán)限。問號 (?) 允許匿名用戶;星號 (*) 允許所有用戶。 2. roles:一個逗號分隔的角色列表,這些角色已被授予 對資源的訪問權(quán)限。 3. verbs:一個逗號分隔的 HTTP 傳輸方法列表,這些 HTTP 傳輸方法已被授予對資源的訪問權(quán)限。注冊到 的謂詞為 GET、 HEAD、 POST 和DEBUG。 deny標(biāo)簽表示不允許訪問。其中的屬性同上面的。 在運行時,授權(quán)模塊迭代通過 allow 和 deny 標(biāo)記,直到它找到適合特定用戶的第一個訪問規(guī)則。然后,它根據(jù)找到的第一項訪問規(guī)則是 allow 還是 deny 規(guī)則來允許或拒絕對 URL 資源的訪問。 文 件中的默中文翻譯 5 認(rèn)身份驗證規(guī)則是 allow users=*/, 因此除非另行配置,否則在默認(rèn)情況下會允許訪問。 調(diào)用 存儲過程 在使用 .NET 的過程中,數(shù)據(jù)庫訪問是一個很重要的部分,特別是在 B/S 系統(tǒng)的構(gòu)建過程中,數(shù)據(jù)庫操作幾乎成為了一個必不可少的操作。調(diào)用存儲過程實現(xiàn)數(shù)據(jù)庫操作使很多程序員使用的方法,而且大多數(shù)的程序員都是能使用存儲過程就使用存儲過程,很少直接使用 SQL 語句,所以存儲過程是很有用而且很重要的。 簡單的說,存儲過程是由一些 SQL 語句和控制語句組成的被封裝起來 的過程,它駐留在數(shù)據(jù)庫中,可以被客戶應(yīng)用程序調(diào)用,也可以從另一個過程或觸發(fā)器調(diào)用。它的參數(shù)可以被傳遞和返回。與應(yīng)用程序中的函數(shù)過程類似,存儲過程可以通過名字來調(diào)用,而且它們同樣有輸入?yún)?shù)和輸出參數(shù)。 根據(jù)返回值類型的不同,我們可以將存儲過程分為三類:返回記錄集的存儲過程, 返回數(shù)值的存儲過程(也可以稱為標(biāo)量存儲過程),以及行為存儲過程。顧名思義,返回記錄集的存儲過程的執(zhí)行結(jié)果是一個記錄集,典型的例子是從數(shù)據(jù)庫中檢索出符合某一個或幾個條件的記錄;返回數(shù)值的存儲過程執(zhí)行完以后返回一個值,例如在數(shù)據(jù)庫中執(zhí)行一個有 返回值的函數(shù)或命令;最后,行為存儲過程僅僅是用來實現(xiàn)數(shù)據(jù)庫的某個功能,而沒有返回值,例如在數(shù)據(jù)庫中的更新和刪除操作。 相對于直接使用 SQL 語句,在應(yīng)用程序中直接調(diào)用存儲過程有以下好處: (1)減少網(wǎng)絡(luò)通信量。調(diào)用一個行數(shù)不多的存儲過程與直接調(diào)用 SQL 語句的網(wǎng)絡(luò)通信量可能不會有很大的差別,可是如果存儲過程包含上百行 SQL 語句,那么其性能絕對比一條一條的調(diào)用 SQL 語句要高得多。 (2)執(zhí)行速度更快。有兩個原因:首先,在存儲過程創(chuàng)建的時候,數(shù)據(jù)庫已經(jīng)對其進(jìn)行了一次解析和優(yōu)化。其次,存儲過程 一旦執(zhí)行,在內(nèi)存中就會保留中文翻譯 6 一份這個存儲過程,這樣下次再執(zhí)行同樣的存儲過程時,可以從內(nèi)存中直接調(diào)用。 (3)更強(qiáng)的適應(yīng)性:由于存儲過程對數(shù)據(jù)庫的訪問是通過存儲過程來進(jìn)行的,因此數(shù)據(jù)庫開發(fā)人員可以在不改動存儲過程接口的情況下對數(shù)據(jù)庫進(jìn)行任何改動,而這些改動不會對應(yīng)用程序造成影響。 (4) 布式工作:應(yīng)用程序和數(shù)據(jù)庫的編碼工作可以分別獨立進(jìn)行,而不會相互壓制。 由以上的分析可以看到,在應(yīng)用程序中使用存儲過程是很有必要的。 存儲過程的調(diào)用方法 為了突出新方法的優(yōu)點,首先介紹一下在 .NET 中調(diào)用存儲過程的 “ 官方 ”方法 。另外,本文的所有示例程序均工作于 SqlServer 數(shù)據(jù)庫上,其它情況類似,以后不再一一說明。本文所有例子均采用 C語言。 要在應(yīng)用程序中訪問數(shù)據(jù)庫,一般性的步驟是:首先聲明一個數(shù)據(jù)庫連接SqlConnection,然后聲明一個數(shù)據(jù)庫命令 SqlCommand,用來執(zhí)行 SQL 語句和存儲過程。有了這兩個對象后,就可以根據(jù)自己的需要采用不同的執(zhí)行方式達(dá)到目的。需要補(bǔ)充的是,不要忘記在頁面上添加如下的引用語句: Imports 。 就執(zhí)行存儲過程來說,如果執(zhí)行 的是第一類存儲過程,那么就要用一個DataAdapter 將結(jié)果填充到一個 DataSet 中,然后就可以使用數(shù)據(jù)網(wǎng)格控件將結(jié)果呈現(xiàn)在頁面上了;如果執(zhí)行的是第二和第三種存儲過程,則不需要此過程,只需要根據(jù)特定的返回判定操作是否成功完成即可。 的設(shè)計目標(biāo) 隨著應(yīng)用程序開發(fā)的發(fā)展演變,新的應(yīng)用程序已基于 Web 應(yīng)用程序模型越來越松散地耦合。如今,越來越多的應(yīng)用程序使用 XML 來編碼要通過網(wǎng)絡(luò)連接傳遞的數(shù)據(jù)。 Web 應(yīng)用程序?qū)? HTTP 用作在層間進(jìn)行通信的結(jié)構(gòu),因此它們必須顯式處理請求之間的狀態(tài) 維護(hù)。這一新模型大大不同于連接、緊耦合的編中文翻譯 7 程風(fēng)格,此風(fēng)格曾是客戶端 /服務(wù)器時代的標(biāo)志。在此編程風(fēng)格中,連接會在程序的整個生存期中保持打開,而不需要對狀態(tài)進(jìn)行特殊處理。 在設(shè)計符合當(dāng)今開發(fā)人員需要的工具和技術(shù)時, Microsoft 認(rèn)識到需要為數(shù)據(jù)訪問提供全新的編程模型,此模型是基于 .NET Framework 生成的。 基于 .NET Framework 這一點將確保數(shù)據(jù)訪問技術(shù)的一致性 — 組件將共享通用的類型系 統(tǒng)、設(shè)計模式和命名約定。 設(shè)計 的目的是為了滿足這一新編程模型的以下要求:具有斷開式 數(shù)據(jù)結(jié)構(gòu);能夠與 XML 緊密集成;具有能夠組合來自多個、不同數(shù)據(jù)源的數(shù)據(jù)的通用數(shù)據(jù)表示形式;以及具有為與數(shù)據(jù)庫交互而優(yōu)化的功能,這些要求都是 .NET Framework 固有 的內(nèi)容。 在創(chuàng)建 時, Microsoft 具有以下設(shè)計目標(biāo)。 的設(shè)計滿足了當(dāng)今應(yīng)用程序開發(fā)模型的多種要求。同時,該編程模型
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1