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

正文內(nèi)容

springside332技術(shù)參考手冊(cè)-資料下載頁(yè)

2025-06-05 19:32本頁(yè)面
  

【正文】 RequestKey, CollectionConfigAttribute distMap = ()。 初始化List及其數(shù)據(jù), 寫(xiě)測(cè)試用例時(shí)很方便。ListString ids = (1, 2)。 另外支持并發(fā)配置,超時(shí)配置,軟連接(內(nèi)存超出時(shí)首先)的MapMaker也比較有意思,常用于做Cache3企業(yè)服務(wù) Web服務(wù): Web Service JAXWSCXF, REST JAXRS、Jersey, HttpClient1. 資料 Web Service資料(江南白衣博物館) (江南白衣博物館) Apache CXF資料(江南白衣博物館)2. 選型 在CXF, Axis2 與 Metro之中,CXF算是最好的吧。2. in SpringSide 使用Java first的開(kāi)發(fā)模式,通過(guò)JSR181annotation標(biāo)注Web Service接口, annotation標(biāo)注JavaXML Mapping。 另外,在Showcase中還演示了WSSecurity 與 二進(jìn)制數(shù)據(jù)的傳輸. 重要規(guī)則 詳見(jiàn) Apache CXF資料: 注意在CXF下那些必須顯式定義,不能采取默認(rèn)值的的Annotation。 為了實(shí)現(xiàn)任意客戶(hù)端都能使用的服務(wù),盡量只使用其WS規(guī)范中最原始通用的部分,Soap Header/Fault節(jié)點(diǎn)都不要使用,高階的WS*就更要慎用。 雖然JavaFirst的開(kāi)發(fā)方式,WSDL可由CXF在運(yùn)行時(shí)動(dòng)態(tài)自動(dòng)生成,但一定要保存下來(lái)并加入版本管理系統(tǒng)。詳見(jiàn)mini service/bin/webservice/。 注意如List,Map 等類(lèi)型Jaxb映射,想見(jiàn)XMLJaxb 錯(cuò)誤返回機(jī)制 服務(wù)端的錯(cuò)誤可以使用WebService的異常機(jī)制(SOAPFault節(jié)點(diǎn)),也可以返回結(jié)果代碼的方式返回。因?yàn)閃ebService的最大價(jià)值是 簡(jiǎn)單通用,面對(duì)眾多語(yǔ)言的客戶(hù)端對(duì)異常處理的不確定性,因此建議對(duì)外的接口使用結(jié)果類(lèi)的形式 。 因?yàn)镃XF在返回結(jié)果定義時(shí)還不支持除CollectionT 外的范型,也就是無(wú)法支持WebServiceResultUserDTO 這樣的定義,因此在miniservice里定義了多個(gè)的繼承于WebServiceResult(含Code與Message)的Result類(lèi)型。 DTO 對(duì)外系統(tǒng)的Web Service接口,必須增加接口類(lèi)及DTO以解耦。 為了應(yīng)付DTO中的子對(duì)象也是DTO(如UserDTO的子對(duì)象是RoleDTO,User的子對(duì)象是Role),或者entity與DTO的屬性名不同 等情況,復(fù)制DTO與entity時(shí)采用dozer做 mapper,而不能使用BeanUtils。 內(nèi)部子系統(tǒng)間的Web Service接口 如果是內(nèi)部?jī)蓚€(gè)子系統(tǒng)間采用web service作為遠(yuǎn)程訪(fǎng)問(wèn)手段時(shí),也可以直接標(biāo)注Service層和Entity類(lèi),并且直接用SoapFault作為異常機(jī)制,無(wú)需接口層、DTO和 WebServiceResult類(lèi)。 從wsdl生成客戶(hù)端代碼 miniservice的bin/ , 生成客戶(hù)端代碼。 具體的命令打開(kāi)命令文件看一下就很清楚了。 客戶(hù)端編寫(xiě) 擁有遠(yuǎn)程服務(wù)的接口與相關(guān)的DTO文件后(合作方給予或由WSDL生成),有兩種方法編寫(xiě)客戶(hù)端 jaxws:client id=userWebService serviceClass= address=://localhost:8080/miniservice/services/UserService /jaxws:client也可以自己用API創(chuàng)建 URL wsdlURL = new URL(://localhost:8080/miniservice/services/UserService?wsdl)。 QName UserServiceName = new QName(, UserService)。 Service service = (wsdlURL, UserServiceName)。 UserWebService userWebService = ()。 WSSecurity 安全機(jī)制當(dāng)然可以自己DIY,比如在函數(shù)簽名里加上用戶(hù)名和密碼參數(shù),或者只增加一個(gè)關(guān)聯(lián)ID參數(shù),但必須先調(diào)用一個(gè)登錄函數(shù)獲取關(guān)聯(lián)ID。 也可以嘗試使用WSI 支持的WSSecurity協(xié)議,showcase演示了基于WSS4J的明文密碼和根據(jù)明文+唯一標(biāo)識(shí)符(多數(shù)是時(shí)間戳+隨機(jī)數(shù))散列而成的密文兩種 做法。 ,可以為原有的Web服務(wù)添加安全認(rèn)證Handler, 見(jiàn)DigestPasswordCallback,PlainPasswordCallback 。 ,配置安全認(rèn)證機(jī)制和用戶(hù)名(見(jiàn) ) , 再在PasswordCalBack中設(shè)置密碼。 SoapUI中對(duì)WSSecurity也有相應(yīng)的支持。 權(quán)限控制 WSS4J用戶(hù)驗(yàn)證完成之后,如果要對(duì)服務(wù)進(jìn)行權(quán)限控制,SpringSide演示了與SpringSecurity的集成,詳情請(qǐng)看SpringSecurity. 二進(jìn)制傳輸 如果只是傳輸少量數(shù)據(jù),直接將byte[]的field由框架透明編碼為Base64即可,詳見(jiàn)SmallImageServiceImpl。 如果是大文件。二進(jìn)制field采用DataHandler實(shí)現(xiàn) Streaming傳輸,詳見(jiàn)LargeImageServiceImpl. 客戶(hù)端見(jiàn)BinaryWebServiceTest。 SoapUI SoapUI 是目前最常用的Soap 客戶(hù)端工具,Pro版更好。 安全: Spring Security, 驗(yàn)證碼JCaptcha, Utils散列、簽名、加密1. 資料 LingoSpring Security 安全權(quán)限管理手冊(cè) 江南白衣知識(shí)庫(kù)SpringSecurity資料 京山游俠SpringSide 3 中的安全框架 SpringSecurity(Acegi)算是一個(gè)比較全面的安全框架,而JAAS的概念抽象雖然嚴(yán)整,但具體實(shí)現(xiàn)太多要自己DIY的地方,而輕量級(jí)如Shiro最近除了不 停改名外沒(méi)什么發(fā)展(Shiro的介紹)。3. in SpringSide 登錄 使用SpringSecurity自帶的Login/Logout、RememerMe機(jī)制,自己實(shí)現(xiàn)UserDetailService接口負(fù)責(zé)查詢(xún)數(shù) 據(jù)庫(kù)向SpringSecurity提供身份和授權(quán)信息。 密碼可用明文,也可用SHA1散列后存放, 還可控制同時(shí)相同登陸的,(). 用戶(hù)角色授權(quán)控制 SpringSecurity只關(guān)心用戶(hù)與授權(quán) ,可以在中間加一層角色,一般三者及之間的關(guān)系都存儲(chǔ)在數(shù)據(jù)庫(kù)里。 基于授權(quán)的資源控制1. 。2. 在JSP中使用taglib控制頁(yè)面顯示內(nèi)容。3. 在POJO中使用annotation控制函數(shù)訪(fǎng)問(wèn). SpringSide不再建議將URL與授權(quán)的關(guān)系定義到數(shù)據(jù)庫(kù)。 驗(yàn)證碼集成 在SpringSecurity中內(nèi)部集成驗(yàn)證碼并不方便,因此在外部編寫(xiě)一個(gè)驗(yàn)證碼Filter,對(duì)SpringeScurity的login form提交地址j_security_check進(jìn)行攔截,實(shí)現(xiàn)松耦合的集成. 詳見(jiàn)驗(yàn)證碼JCaptcha 擴(kuò)展User屬性 擴(kuò)展SpringSecurity的User類(lèi),加入loginTime,loginIP等屬性。將UserDetailServiceImpl的 loadUserByUsername(String userName)的返回值改為新類(lèi)型,即可在 ().getAuthentication().getPrincipal()隨時(shí)取 出該類(lèi)并強(qiáng)制轉(zhuǎn)型之。 與CXF的集成 SpringSide封裝的SpringSecurityInInterceptor類(lèi),將WSS4J認(rèn)證后的用戶(hù)身份找出來(lái)放進(jìn) SecurityContext里,見(jiàn)Showcase中的演示。 然后就可以AOP的形式,對(duì)CXF中的接口函數(shù)進(jìn)行授權(quán)驗(yàn)證。 當(dāng)然,調(diào)用結(jié)束時(shí)要SpringSecurityOutInterceptor類(lèi)要將用戶(hù)身份從ThreadLocal的SecurityContext 中清除掉。 與Rest的集成 見(jiàn)Showcase中的演示,SpringSecurity本來(lái)就支持Http Basic/Digest的認(rèn)證,所以只要在Rest客戶(hù)端發(fā)送Http Basic/Digest的Http Header,SpringSecurity就可以驗(yàn)證用戶(hù)身份,然后像CXF一樣,用AOP控制接口的授權(quán)。4. SpringSide3的封裝 SpringSecurityUtils 獲取當(dāng)前用戶(hù)/用戶(hù)名的簡(jiǎn)便函數(shù)。 獲取當(dāng)前用戶(hù)IP的簡(jiǎn)便函數(shù), 將藏在Authentication的WebAuthenticationDetails中的IP找出來(lái)。 判斷用戶(hù)是否擁有某個(gè)角色的簡(jiǎn)便函數(shù)。 保存用戶(hù)到SecurityContext。最重要函數(shù)?。?!其他SSO 或 DIY認(rèn)證方案實(shí)現(xiàn)與SpringSecurity集成的不二法門(mén)。 著名的方案有 JCaptcha與SimpleCaptcha . JCaptcha比較老牌,但使用并不方便,比如連顯示圖片的Servlet都要自己編寫(xiě). 如Play!Framework使用的就是SimplCaptcha.2. JCaptcha springsideextension中實(shí)現(xiàn)了顯示校驗(yàn)碼圖片和驗(yàn)證校驗(yàn)碼的Filter,因?yàn)镾pringSecurity并不能很容易的讓人擴(kuò)展 它的認(rèn)證函數(shù),所以干脆做成Filter,攔截j_security_check的URL,如果認(rèn)證成功就進(jìn)入真正的 SpringSecurityFilter,失敗則跳回登錄頁(yè)面. ,在外觀(guān)上有點(diǎn)不敢恭維于是重新實(shí)現(xiàn)了一下,, 但現(xiàn)在還是alpha狀態(tài),. 。4. 看不清楚,換一張的javascript ,注意為了避免瀏覽器的緩存,必須在URL中加入隨機(jī)數(shù)。 另外還無(wú)聊的加了些jquery淡入淡出的效果在內(nèi)。 對(duì)字符串進(jìn)行sha1散列后, 根據(jù)不同的應(yīng)用場(chǎng)景可以編碼為標(biāo)準(zhǔn)的Hex16進(jìn)制編碼,更短的Base64編碼,不含URL非法字符的Base64URLSafe編碼。 支持對(duì)文件進(jìn)行md5和sha1摘要。 見(jiàn) springsideextension中的DigestUtils 及其測(cè)試用例, 首選sha1算法。 共享對(duì)稱(chēng)密鑰的不可逆的SHA1MAC簽名算法是比較快速理想的簽名算法,先用SHA1將字符串散列,然后執(zhí)行MAC加密。 支持生成簽名,判斷簽名 支持默認(rèn)160位密鑰的生成. 支持Hex,Base64與Base64URLSafe編碼. 見(jiàn) springsideextension中的CryptoUtils及其測(cè)試用例.共享對(duì)稱(chēng)密鑰的DES加密算法是最常用的加密算法,AES則是它的替代者。1. 支持加解密2. 支持64位的DES密鑰及默認(rèn)128位的AES密鑰生成.3. 支持Hex,Base64編碼. 見(jiàn) springsideextension中的CryptoUtils及其測(cè)試用例. 緩存: Cache總述, EhCacheCache的類(lèi)別 本地緩存:從最簡(jiǎn)單的Map到Ehcache單機(jī)版都屬于一類(lèi)。 分布式緩存:分布在不同JVM的Cache可以互相同步與備份,如JbossCache 和 Oralce那個(gè)天價(jià)的產(chǎn)品。 集中式緩存: 最著名的代表是Memcached, Terracotta其實(shí)也屬于透明的集中式架構(gòu)。本地緩存1. Ehcache Ehcache是比較完整的本地緩存方方案,詳見(jiàn)Ehcache2. ConcurrentMap 如果數(shù)據(jù)量不多,嫌Ehcache都太重,可以簡(jiǎn)單的使用Map來(lái)做緩存,見(jiàn)showcase的MapCacheImpl 考慮到并發(fā)性,一定要使用ConcurrentHashMap,并可以調(diào)大并發(fā)鎖的數(shù)量,默認(rèn)為16. 考慮到有些元素可能已經(jīng)過(guò)期不再有用,使用Goolge Collection的MapMaker,設(shè)置每個(gè)元素的過(guò)期時(shí)間,會(huì)為每個(gè)元素開(kāi)一個(gè)timer來(lái)過(guò)期清理。 考慮到萬(wàn)一還是可能出現(xiàn)內(nèi)存爆滿(mǎn),使用Google Collection的MapMaker,設(shè)置每個(gè)元素都是SoftReference的,內(nèi)存爆滿(mǎn)時(shí)可以拿來(lái)GC. Ehcache資料(江南白衣博物館) Ehcache原來(lái)是比較好的,但Terracotta收購(gòu)后在分布式緩存中必然只側(cè)重于TC, JGroups等廣播通知方式已停止發(fā)展,所以Ehcache還是單機(jī)使用吧 JBossCache是另一個(gè)可選的方案,新版本的Infinispan在思路上與Oralce那昂貴的商業(yè)分布式緩存已經(jīng)很接近了,這是Ehcache 欠缺的。 Memcached是集中式中央緩存的王者,在下一個(gè)版本中將進(jìn)行Demo.3. Ehcache in SpringSide 3 目前主要作為Hibernate的二級(jí)緩存,在showcase中也有直接在代碼中使用緩存。 DefaultCache ehcachesafe中的默
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1