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

正文內(nèi)容

j2ee筆記-資料下載頁

2025-08-12 07:53本頁面

【導(dǎo)讀】ValueObject(值對象)用于把數(shù)據(jù)從某個(gè)對象/層傳遞到其他對象/層的任意Java對象。通常不包含任何業(yè)務(wù)方法。也許設(shè)計(jì)有公共屬性,或者提供可以獲取屬性值的get方法。session可以不賦值,默認(rèn)為true,如果session=”false”,則在JSP頁面中,隱含的。變量session就不能使用。這種途徑涉及到使用一個(gè)Servlet或一個(gè)JSP作為一個(gè)應(yīng)用程序或一組頁面的入口點(diǎn)。為創(chuàng)建可維護(hù)的JSP系統(tǒng),RequestController是最有用的方式之一。不是JSP,而是Java類才是放置控制邏輯的正確的地方。bean是信息的攜帶者,而tag更適用于處理信息。ServletConfig包涵ServletContext和一些Name/Valuepair(來自于deployment. 通常情況下,如果serverdetect到browser支持cookie,那么URL就不會(huì)重寫。cookie是跟某一個(gè)server相關(guān)的,運(yùn)行在同一個(gè)server上的servlet共享一個(gè)。只有實(shí)現(xiàn)了SingleThreadModel,container才會(huì)讓servlet有多個(gè)實(shí)例。保證servlet在同一時(shí)刻只處理一個(gè)客戶的請求。SingleThreadModel是耗費(fèi)資源的,特別是當(dāng)有大量的請求發(fā)送給Servlet時(shí),SingleThreadModel的作用是使包容器以同步時(shí)鐘的方式調(diào)用service方法。而theserver通過關(guān)閉thesocket來表示response已結(jié)束了。

  

【正文】 e)機(jī)制 。 證書是公開密鑰體制的一種密鑰 管理媒介。它是一種權(quán)威性的電子文檔,形同網(wǎng)絡(luò)計(jì)算環(huán)境中的一種身份證,用于證明某一主體(如人、服務(wù)器等)的身份以及其公開密鑰的合法性。在使用公鑰體制的網(wǎng)絡(luò)環(huán)境中 , 必須向公鑰的使用者證明公鑰的真實(shí)合法性。因此 ,在公鑰體制環(huán)境中 ,必須有一個(gè)可信的機(jī)構(gòu)來對任何一個(gè)主體的公鑰進(jìn)行公證 ,證明主體的身份以及他與公鑰的匹配關(guān)系。 C A 正是這樣的機(jī)構(gòu) ,它的職責(zé)歸納起來有 : 驗(yàn)證并標(biāo)識證書申請者的身份; 確保 CA用于簽名證書的非對稱密鑰的質(zhì)量; 確保整個(gè)簽證過程的安全性 ,確保簽名私 鑰的安全性; 證書材料信息(包括公鑰證書序列號、 CA標(biāo)識等)的管理; 確定并檢查證書的有效期限; 確保證書主體標(biāo)識的唯一性 ,防止重名; 發(fā)布并維護(hù)作廢證書表; 對整個(gè)證書簽發(fā)過程做日志記錄; 向申請人發(fā)通知。 其中最為重要的是 CA 自己的一對密鑰的管理,它必須確保其高度的機(jī)密性 ,防止他方偽造證書。 CA的公鑰在網(wǎng)上公開 ,整個(gè)網(wǎng)絡(luò)系統(tǒng)必須保證完整性。 * 證書庫 證書庫是證書的集中存放地 ,它與網(wǎng)上 白頁”類似 ,是網(wǎng)上的一種公共信息庫 ,用戶可以從此處獲得其他用戶的證書和公鑰。 構(gòu)造證書庫的最佳方法是采用支持 LDAP 協(xié)議的目錄系統(tǒng) ,用戶或相關(guān)的應(yīng)用通過 LDAP來訪問證書庫。系統(tǒng)必須確保證書庫的完整性 ,防止偽造、篡改證書。 * 密鑰備份及恢復(fù)系統(tǒng) * 證書作廢處理系統(tǒng) * PKI應(yīng)用接口系統(tǒng) PKI的價(jià)值在于使用戶能夠方便地使用加密、數(shù)字簽名等安全服務(wù),因此一個(gè)完整的 PKI必須提供良好的應(yīng)用接口系統(tǒng),使得各種各樣的應(yīng)用能夠以安全、一致、可信的方式與 P KI交互,確保所建立起來的網(wǎng)絡(luò)環(huán)境的可信性,同時(shí)降低管理維護(hù)成本。最后, PKI應(yīng)用接口系統(tǒng)應(yīng)該是跨平臺(tái)的。 許多權(quán)威的認(rèn)證方案供應(yīng)商 (例如 VeriSign、 Thawte 以及 GTE)目前都在提供外包的 PKI。外包 PKI 最大的問題是 ,用戶必須把企業(yè)托管給某一服務(wù)提供商 , 即讓出對網(wǎng)絡(luò)安全的控制權(quán)。如果不愿這樣做 ,則可建造一個(gè)專用的 PKI。專用方案通常需把來自 Entrust、 Baltimore Technologies以及 Xcert的多種服務(wù)器產(chǎn)品與來自主流應(yīng)用程序供應(yīng)商 (如 Microsoft、 Netscape 以及 Qualm)的產(chǎn)品組合在一起。專用 PK I還要求企業(yè)在準(zhǔn)備其基礎(chǔ)設(shè)施的過程中投入大量的財(cái)力與物力。 7. JAAS 擴(kuò)展 JAAS 實(shí)現(xiàn)類實(shí)例級授權(quán) “ Java 認(rèn)證和授權(quán)服務(wù)”( Java Authentication and Authorization Service, JAAS) 在 JAAS 下,可以給予用戶或服務(wù)特定的許可權(quán)來執(zhí)行 Java 類中的代碼。在本文中,軟件工程師 Carlos Fonseca 向您展示 如何為企業(yè)擴(kuò)展 JAAS 框架 。 向 JAAS 框架添加類實(shí)例級授 權(quán)和特定關(guān)系使您能夠構(gòu)建更動(dòng)態(tài)、更靈活并且伸縮性更好的企業(yè)應(yīng)用程序 。 大多數(shù) Java 應(yīng)用程序都需要某種類實(shí)例級的訪問控制。例如,基于 Web 的、自我服務(wù)的拍賣應(yīng)用程序的規(guī)范可能有下列要求: 任何已注冊(經(jīng)過認(rèn)證)的用戶都可以創(chuàng)建一個(gè)拍賣,但只有創(chuàng)建拍賣的用戶才可以修改這個(gè)拍賣。 這意味著任何用戶都可以執(zhí)行被編寫用來創(chuàng)建 Auction 類實(shí)例的代碼,但只有擁有該實(shí)例的用戶可以執(zhí)行用來修改它的代碼。通常情況下,創(chuàng)建 Auction 實(shí)例的用戶就是所有者。這被稱為 類實(shí)例所有者關(guān)系( class instance owner relationship) 。 該應(yīng)用程序的另一個(gè)要求可能是: 任何用戶都可以為拍賣創(chuàng)建一個(gè)投標(biāo),拍賣的所有者可以接受或拒絕任何投標(biāo)。 再一次,任何用戶都可以執(zhí)行被編寫用來創(chuàng)建 Bid 類實(shí)例的代碼,但只有擁有該實(shí)例的用戶會(huì)被授予修改該實(shí)例的許可權(quán)。而且, Auction 類實(shí)例的所有者必須能夠修改相關(guān)的 Bid 類實(shí)例中的接受標(biāo)志。這意味著在 Auction 實(shí)例和相應(yīng)的 Bid 實(shí)例之間有一種被稱為特定關(guān)系( special relationship)的關(guān)系。 不幸的是,“ Java 認(rèn)證和授權(quán)服務(wù)”( JAAS) — 它是 Java 2 平臺(tái)的一部分 — 沒有考慮到類實(shí)例級訪問控制或者特定關(guān)系。在本文中,我們將擴(kuò)展 JAAS 框架使其同時(shí)包含這兩者。推動(dòng)這種擴(kuò)展的動(dòng)力是允許我們將訪問控制分離到一個(gè)通用的框架,該框架使用基于所有權(quán)和特定關(guān)系的策略。然后管理員可以在應(yīng)用程序的生命周期內(nèi)更改這些策略。 在深入到擴(kuò)展 JAAS 框架之前,我們將重溫一下 Java 2 平臺(tái)的訪問控制機(jī)制。我們將討論策略文件和許可權(quán)的使用,并討論 SecurityManager 和 AccessController 之間的關(guān)系。 Java 2 平臺(tái)中的訪問控制 在 Java 2 平臺(tái)中,所有的代碼,不管它是本地代碼還是遠(yuǎn)程代碼,都可以由策略來控制。策略( policy)由不同位置上的代碼的一組許可權(quán)定義,或者由不同的簽發(fā)者定義、或者由這兩者定義。許可權(quán)允許對資源進(jìn)行訪問;它通過名稱來定義,并且可能與某些操作關(guān)聯(lián)在一起。 抽象類 被用于表示應(yīng)用程序的安全性策略。缺省的實(shí)現(xiàn)由 提供,在 中,策略被定義在一個(gè)文件中。清單 1 是一個(gè)典型策略文件示例: 清單 1. 一個(gè)典型的策略文件 // Grant these permissions to code loaded from a file // in the C drive and if it is signed by XYZ grant codebase file:/C:/, signedby XYZ { // Allow socket actions to any host using port 8080 permission *:8080, accept, connect, listen, resolve。 // Allows file access (read, write, execute, delete) in // the user39。s home directory. Permission ${}/, read, write, execute, delete。 }。 SecurityManager 對 AccessController 在標(biāo)準(zhǔn) JDK 分發(fā)版中,控制代碼源訪問的機(jī)制缺省情況下是關(guān)閉的。在 Java 2 平臺(tái)以前,對代碼源的訪問都是由 SecurityManager 類管理的。 SecurityManager 是由 系統(tǒng)屬性啟動(dòng)的,如下所示: java 在 Java 2 平臺(tái)中,可以將一個(gè)應(yīng)用程序設(shè)置為使用 類或者 類管理敏感的操作。 AccessController 在 Java 2 平臺(tái)中是新出現(xiàn)的。為便于向后兼容, SecurityManager 類仍然存在,但把自己的決定提交 AccessController 類裁決。 SecurityManager 和 AccessController 都使用應(yīng)用程序的策略文件確定是否允許一個(gè)被請求的操作。清單 2 顯示了 AccessController 如何處理 SocketPermission 請求: 清單 2. 保護(hù)敏感操作 Public void someMethod() { Permission permission = new (localhost:8080, connect)。 (permission)。 // Sensitive code starts here Socket s = new Socket(localhost, 8080)。 } 在這個(gè) 示例中,我們看到 AccessController 檢查應(yīng)用程序的當(dāng)前策略實(shí)現(xiàn)。如果策略文件中定義的任何許可權(quán)暗示了被請求的許可權(quán),該方法將只簡單地返回;否則拋出一個(gè) AccessControlException 異常。在這個(gè)示例中,檢查實(shí)際上是多余的,因?yàn)槿笔√捉幼謱?shí)現(xiàn)的構(gòu)造函數(shù)也執(zhí)行相同的檢查。 在下一部分,我們將更仔細(xì)地看一下 AccessController 如 何 與 實(shí)現(xiàn)共同合作安全地處理應(yīng)用程序請求。 運(yùn)行中的 AccessController AccessController 類典型的 checkPermission(Permission p) 方法調(diào)用可能會(huì)導(dǎo)致下面的一系列操作: AccessController 調(diào)用 類 實(shí) 現(xiàn) 的 getPermissions(CodeSource codeSource) 方法。 getPermissions(CodeSource codeSource) 方法返回一個(gè) PermissionCollection 類實(shí)例,這個(gè)類實(shí)例代表一個(gè)相同類型許可權(quán)的集合。 AccessController 調(diào)用 PermissionCollection 類的 implies(Permission p) 方法。 接下來, PermissionCollection 調(diào)用集合中包含的單個(gè) Permission 對象的 implies(Permission p) 方法。如果集合中的當(dāng)前許可權(quán)對象暗示指定的許可權(quán),則這些方法返回 true,否則返回 false。 現(xiàn)在,讓我們更詳細(xì)地看一下這個(gè)訪問控制序列中的重要元素。 PermissionCollection 類 大多數(shù)許可權(quán)類類型都有一個(gè) 相應(yīng)的 PermissionCollection 類。這樣一個(gè)集合的實(shí)例可以通過調(diào)用 Permission 子類實(shí)現(xiàn)定義的 newPermissionCollection() 方法來創(chuàng)建。 類 實(shí) 現(xiàn) 的 getPermissions() 方 法 也 可 以 返 回 Permissions 類實(shí)例 — PermissionCollection 的一個(gè)子類。這個(gè)類代表由 PermissionCollection 組織的不同類型許可權(quán)對象的一個(gè)集合。 Permissions 類的 implies(Permission p) 方法可以調(diào)用單個(gè) PermissionCollection 類的 implies(Permission p) 方法。 CodeSource 和 ProtectionDomain 類 許可權(quán)組合與 CodeSource(被用于驗(yàn)證簽碼( signed code)的代碼位置和證書)被封裝在 ProtectionDomain 類中。有相同許可權(quán)和相同 CodeSource 的類實(shí)例被放在相同的域中。帶有相同許可權(quán),但不同 CodeSource 的類被放在不同的域中。一個(gè)類只可屬于 一個(gè) ProtectionDomain 。 要 為 對 象 獲 取 ProtectionDomain , 請 使 用 類中定義的 getProtectionDomain() 方法。 許可權(quán) 賦予 CodeSource 許可權(quán)并不一定意味著允許所暗示的操作。要使操作成功完成,調(diào)用棧中的每個(gè)類必須有必需的許可權(quán)。換句話說,如果您將 賦給類 B,而類 B 是由類 A 來調(diào)用,那么類 A 必須也有相同的許可權(quán)或者暗示 的許可權(quán)。 在另一方面,調(diào)用類可能需要臨時(shí)許可權(quán)來完成另一個(gè)擁有那些許可權(quán)的類中的操作。例如,當(dāng)從另一個(gè)位置加載的類訪問本地文件系統(tǒng)時(shí),我們可能不信任它。但是,本地加載的類被授予對某個(gè)目錄的讀許可權(quán)。這些類可以實(shí)現(xiàn) PrivilegedAction 接口來給予調(diào)用類許可權(quán)以便完成指定的操作。調(diào)用棧的檢查在遇到 PrivilegedAction 實(shí)例時(shí)停止,有效地將執(zhí)行指定操作所必需的許可權(quán)授予所有的后繼類調(diào)用。 使用 JAAS 顧名思義, JAAS 由兩個(gè)主要組件組成:認(rèn)證和授權(quán)。我們主要關(guān)注擴(kuò)展 JAAS 的授權(quán)組件,但開始我們先簡要概述一下 JAAS 認(rèn)證,緊接著看一下一個(gè)簡單的 JAAS 授權(quán)操作。 JAAS 中的用戶認(rèn)證 JAAS 通過添加基于 subject 的策略加強(qiáng)了 Java 2 中定義的訪問控制安全性模型。許可權(quán)的授予不僅基于 CodeSource,還基于執(zhí)行代碼的用戶。顯然,要使這個(gè)模型生效,每個(gè)用戶都必須經(jīng)過認(rèn)證。 JAAS 的認(rèn)證機(jī)制建立在一組可插登錄模塊的基礎(chǔ)上。 JAAS 分發(fā)版包含幾個(gè) LoginModule 實(shí)現(xiàn)。 LoginModules 可以用于提示用戶輸入用戶標(biāo)識 和密碼。LoginContext 類使用一個(gè)配置文件
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1