OData 1-2 windows 身份驗(yàn)證和OData
windows 身份驗(yàn)證和OData
1.服務(wù)器端
1) 集成身份驗(yàn)證
在使用IIS作為服務(wù)宿主的情況下,需要打開(kāi)集成身份驗(yàn)證,關(guān)閉匿名身份驗(yàn)證
windows身份驗(yàn)證要求請(qǐng)求中包含以下的http header: (以下例子是服務(wù)器發(fā)生401時(shí)給客戶(hù)端的錯(cuò)誤提示)
WWW-Authenticate: NTLM
WWW-Authenticate: Negotiate
其中NTLM意味著你需要使用windows身份驗(yàn)證
Negotiate意味著客戶(hù)端可以嘗試Kerberos 身份驗(yàn)證
2)基本身份驗(yàn)證
當(dāng)你把IIS配置為基本身份驗(yàn)證的時(shí)候
服務(wù)器返回401會(huì)如下所示:
WWW-Authenticate: Basic realm="mydomain.com"
這些信息告訴客戶(hù)端,需要提供一個(gè)給mydomain.com的身份憑據(jù)
基本身份驗(yàn)證非常簡(jiǎn)單,但是并不安全,除非你使用Https
2.客戶(hù)端
1)瀏覽器
大多數(shù)在遇到http401的時(shí)候會(huì)彈出一個(gè)登錄框給用戶(hù)
2).net客戶(hù)端應(yīng)用程序
如果你的程序運(yùn)行在windows系統(tǒng)下代碼如下所示
MyDataContext ctx = new MyDataContext(uri);
ctx.Credentials = System.Net.CredentialCache.DefaultCredentials;
如果你的程序運(yùn)行在非windows系統(tǒng)下,請(qǐng)考慮以下代碼
ctx.Credentials = new NetworkCredential( "username", "password", "domain");
Silverlight 4:
ctx.UseDefaultCredentials = true;
posted on 2010-12-20 16:43 聽(tīng)說(shuō)讀寫(xiě) 閱讀(3317) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)