【正文】
XML Web services 的安全 ? 身份驗(yàn)證 ? 授權(quán) ? Windows 身份驗(yàn)證 1。使用 IIS 配置 XML Web services 以使用 Windows 身份驗(yàn)證 ,在 IIS 中的 .asmx 文件上為該 XML Web services 設(shè)置權(quán)限。 2. 修改配置文件 , Windows 身份驗(yàn)證。 authentication mode= Windows/authentication 新建 XML Web Service后默認(rèn)的設(shè)置已是 “ Windows”。 代碼 ,可使用 WebService User 屬性 ,接受用戶提供的憑據(jù) public class Util: WebService { [ WebMethod(Description=Obtains the User Name,EnableSession=false) ] public string GetUserName() { return 。 } } 客戶證書身份驗(yàn)證 ? “客戶證書 ” 提供了一種安全的身份驗(yàn)證機(jī)制,這是因?yàn)樗罂蛻舳藢⒁粋€(gè)標(biāo)識(shí)該客戶端的電子文檔使用 SSL 連接發(fā)送到 Web 服務(wù)器,該電子文檔叫做客戶證書。 ? 為客戶證書身份驗(yàn)證配置 XML Web services 1. 安裝 SSL。 2. 配置 Web 應(yīng)用程序以接受客戶證書。 使用 ClientCertificates 屬性 1. 修改配置文件 ,為 XML Web services 指定 Windows 身份驗(yàn)證。 ? 使用客戶證書傳遞其憑據(jù)到 XML Web services ,例 //實(shí)例化 xml Web services 代理類如 BankSession BankSession bank = new BankSession()。 // 裝客戶證書文件 X509Certificate x509 = (@c:\)。 // 添加客戶證書到代理類的 ClientCertificates屬性 (x509)。 // 調(diào)用 Web services 方法(該方法需要客戶證書身份驗(yàn)證) (500)。 XML Web services 的授權(quán) ? 授權(quán)的目的是確定是否應(yīng)該授予某個(gè)標(biāo)識(shí)對(duì)給定資源請(qǐng)求的訪問權(quán)限類型。 ? 授予對(duì)給定資源的訪問權(quán)限有兩種基本的方法:文件授權(quán)和 URL 授權(quán)。因?yàn)闄?quán)限是在 IIS 中逐個(gè)文件設(shè)置的,所以只要使用 Windows 身份驗(yàn)證,就可以使用文件授權(quán)。 URL 授權(quán)可以和 支持的任何內(nèi)置身份驗(yàn)證機(jī)制一起使用。使用 URL 授權(quán),配置是通過配置文件完成的,用戶可以有選擇地授予或拒絕對(duì)與 關(guān)聯(lián)的任何文件(包括 .asmx 文件)的訪問權(quán)限。 例在 : authorization allow users=John, Kim, contoso\Jane“ roles=Admins / /authorization