WebServices(安全與身份驗(yàn)證)_第1頁
WebServices(安全與身份驗(yàn)證)_第2頁
WebServices(安全與身份驗(yàn)證)_第3頁
WebServices(安全與身份驗(yàn)證)_第4頁
WebServices(安全與身份驗(yàn)證)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

安全與身份驗(yàn)證身份驗(yàn)證:基于憑據(jù)(例如用戶名和密碼)向頒發(fā)機(jī)構(gòu)驗(yàn)證標(biāo)識(shí)的過程授權(quán)對(duì)標(biāo)識(shí)進(jìn)行了身份驗(yàn)證之后,授權(quán)將確定是否對(duì)該標(biāo)識(shí)授予訪問資源的權(quán)限IP與DNS層安全機(jī)制在IIS的”目錄安全性”中設(shè)置優(yōu)點(diǎn):底層的安全機(jī)制發(fā)生在其它驗(yàn)證之前缺點(diǎn):代理上網(wǎng)的方式使很多客戶端只有一個(gè)IP地址DNS查找非常費(fèi)時(shí)身份驗(yàn)證中的常用類型HttpContext

封裝有關(guān)個(gè)別HTTP請(qǐng)求的所有HTTP特定的信息

IPrincipal:定義用戶對(duì)象的基本功能Identity屬性:獲取當(dāng)前用戶的標(biāo)識(shí)IsInRole方法:確定當(dāng)前用戶是否屬于指定的角色GenericPrincipal類和WindowsPrincipal類實(shí)現(xiàn)該接口身份驗(yàn)證中的常用類型IIdentity接口:定義標(biāo)識(shí)對(duì)象的基本功能AuthenticationType

屬性:驗(yàn)證的類型IsAuthenticated

屬性:是否是通過驗(yàn)證的用戶Name

屬性:當(dāng)前用戶的名稱Windows基本驗(yàn)證集成Windows操作系統(tǒng)中的用戶,密碼和權(quán)限用戶名和密碼以明文方式傳輸不能自定義擴(kuò)展(如數(shù)據(jù)庫)NetworkCredential

類:為基于密碼的身份驗(yàn)證方案提供憑據(jù)。代理類的Credentials屬性Windows基本驗(yàn)證在IIS中設(shè)置

DEMO(BasicAuth.asmx,aspx)Windows簡(jiǎn)要驗(yàn)證類似基本驗(yàn)證用戶名和密碼加密基于活動(dòng)目錄存儲(chǔ)用戶信息,需要安裝AD不能自定義擴(kuò)展(如數(shù)據(jù)庫)Windows集成驗(yàn)證類似基本驗(yàn)證在IIS中設(shè)置簡(jiǎn)單結(jié)合域用戶的網(wǎng)絡(luò)環(huán)境效果更佳將加密后的用戶名和標(biāo)識(shí)發(fā)送到IIS,由IIS將用戶名和密碼傳送到域服務(wù)器,因此密碼不在網(wǎng)絡(luò)上直接傳播僅IE支持不能自定義擴(kuò)展(如數(shù)據(jù)庫)使用Kerberos協(xié)議需要打開端口Forms驗(yàn)證使用自己的代碼對(duì)用戶進(jìn)行身份驗(yàn)證,然后將身份驗(yàn)證標(biāo)記保留在Cookie或頁的URL中通過FormsAuthentication

類訪問Forms身份驗(yàn)證信息和功能客戶端標(biāo)識(shí)基于Cookie的形式,效率高對(duì)客戶端標(biāo)識(shí)有加密和驗(yàn)證功能,安全性高可自定義擴(kuò)展方式(如數(shù)據(jù)庫)WebServices默認(rèn)不支持,需要自定義實(shí)現(xiàn)使用Session存儲(chǔ)WebServices返回的身份驗(yàn)證票據(jù)Forms驗(yàn)證配置Web.config<authenticationmode="Forms"><formsname="g2004"loginUrl="/login.asmx"path="/"protection="All"timeout="30"/></authentication>

<authorization><denyusers=“?"/></authorization>Forms驗(yàn)證身份驗(yàn)證票的形式publicFormsAuthenticationTicket(

intversion,//設(shè)為1

stringname,//用戶標(biāo)示

DateTime

issueDate,//Cookie的發(fā)出時(shí)間,設(shè)置為DateTime.Now

DateTimeexpiration,//過期時(shí)間

bool

isPersistent,//是否持久性(根據(jù)需要設(shè)置,若是設(shè)置為持久性,在發(fā)出cookie時(shí),cookie的Expires設(shè)置一定要設(shè)置)

stringuserData,//這里用上面準(zhǔn)備好的用逗號(hào)分割的role字符串

stringcookiePath//設(shè)為"/",這要同發(fā)出cookie的路徑一致,因?yàn)樗⑿耤ookie要用這個(gè)路徑

);Forms驗(yàn)證訪問授權(quán)publicstaticvoid

SetAuthCookie

(string

userName,bool

createPersistentCookie)userName

用于Cookie身份驗(yàn)證的用戶名稱。createPersistentCookie

指定是否應(yīng)當(dāng)發(fā)出持久性Cookie。

DEMO(FormsAuth1.asmx,aspx)Forms驗(yàn)證基于角色的授權(quán)生成自己的驗(yàn)證票據(jù),在UserData屬性中存儲(chǔ)角色信息在global.asax的Application_AuthorizeRequest事件處理程序中,使用UserData屬性中的角色信息,生成新的GenericPrincipal身份

DEMO(FormsAuth1.asmx,aspx)SSL驗(yàn)證SSL:安全套接字層服務(wù)器和瀏覽器之間傳輸?shù)臄?shù)據(jù)通過PKI(公鑰加密機(jī)制)技術(shù)加密截取的TCP/IP數(shù)據(jù)包將無法解讀必須從CA(證書頒發(fā)機(jī)構(gòu))獲得授權(quán)證書(收費(fèi))使用HTTPS協(xié)議SSL驗(yàn)證實(shí)現(xiàn)步驟:從IIS生成CSR(授權(quán)證書申請(qǐng))和私鑰將CSR發(fā)到CA獲得SSL授權(quán)證書在IIS中安裝SSL證書原理:

私鑰保存在服務(wù)器端并用來加密數(shù)據(jù),公鑰保存在客戶端用來解密數(shù)據(jù)SSL可以與多種驗(yàn)證方式結(jié)合,如基本驗(yàn)證,Windows集成驗(yàn)證,Forms驗(yàn)證等SSL驗(yàn)證使用SOAP頭執(zhí)行自定義身份驗(yàn)證ASP.NET請(qǐng)求的處理過程ASP.NET請(qǐng)求處理過程是基于管道模型的,在模型中ASP.NET把http請(qǐng)求傳遞給管道中的所有模塊。每個(gè)模塊都接收http請(qǐng)求并有完全控制權(quán)限。模塊可以用任何自認(rèn)為適合的方式來處理請(qǐng)求。一旦請(qǐng)求經(jīng)過了所有HTTP模塊,就最終被HTTP處理程序處理,并且結(jié)果將再次經(jīng)過管道中的HTTP模塊

使用SOAP頭執(zhí)行自定義身份驗(yàn)證ASP.NET請(qǐng)求的處理過程使用SOAP頭執(zhí)行自定義身份驗(yàn)證HTTP模塊HTTP模塊是一個(gè)在每次針對(duì)應(yīng)用程序發(fā)出請(qǐng)求時(shí)調(diào)用的程序集HTTP模塊作為ASP.NET請(qǐng)求管線的一部分調(diào)用,它們能夠在整個(gè)請(qǐng)求過程中訪問生命周期事件HTTP模塊使您有機(jī)會(huì)檢查傳入的請(qǐng)求并根據(jù)該請(qǐng)求采取操作。它們還使您有機(jī)會(huì)檢查出站響應(yīng)并修改它使用SOAP頭執(zhí)行自定義身份驗(yàn)證HTTP模塊IHttpModuleInit方法:初始化模塊

Web.config中配置<httpModules><addtype=“類名”name=“任意名稱"/></httpModules>使用SOAP頭執(zhí)行自定義身份驗(yàn)證自定義SOAP頭擴(kuò)展實(shí)現(xiàn)自定義HTTP模塊HTTPModule分析HTTP消息,檢查是否是SOAP消息如果HTTPModule檢測(cè)到SOAP消息,它將讀取SOAP頭如果SOAP消息的SOAP頭中含有身份驗(yàn)證憑據(jù),則HTTPModule引發(fā)自定義global.asax

事件在global.asax中為HTTP模塊中的自定義事件添加處理程序,在該程序中為當(dāng)前請(qǐng)求賦予角色信息

DEMO

代碼1

代碼2WSE簡(jiǎn)介WSE(WebServicesEnhancements)是微軟提供的一個(gè)實(shí)現(xiàn)高級(jí)Web服務(wù)協(xié)議的類庫WSE支持12種新興的規(guī)范,分為3大類:安全性、事務(wù)處理和可靠傳輸WS-Security定義了消息級(jí)安全的機(jī)制,包括如何交換身份憑據(jù),以及如何驗(yàn)證消息的完整性和機(jī)密性。WS-Routing用于建立虛擬網(wǎng)絡(luò),具體是通過中途的SOAP節(jié)點(diǎn)來路由傳遞消息??蓪S-Routing想象成用于SO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論