NSURLCredential 身份認證

2021-06-19 10:48:38 字數 1043 閱讀 2989

web 服務可以在返回 http 響應時附帶認證要求 challenge,作用是詢問 http 請求的發起方是誰,這時發起方應提供正確的使用者名稱和密碼(即認證資訊),然後 web 服務才會返回真正的 http 響應。

收到認證要求時,nsurlconnection的委託物件會收到相應的訊息並得到乙個nsurlauthenticationchallenge例項。該例項的傳送方遵守 nsurlauthenticationchallengesender 協議。為了繼續收到真實的資料,需要向該傳送方向發回乙個nsurlcredential例項。**示例如下:

方法來自:nsurlconnectiondelegate

- (void

)connection:(

nsurlconnection

*)connection didreceiveauthenticationchallenge:(

nsurlauthenticationchallenge

*)challenge

// 建立

nsurlcredential 

物件nsurlcredential

*newcred = [

nsurlcredential

credentialwithuser:@"sid"

password:@"momiscool"

persistence:nsurlcredentialpersistencenone];

// 為

challenge 

的傳送方提供

credential

[[challenge sender] usecredential:newcred

forauthenticationchallenge:challenge];}

如果是更複雜,安全要求更高的 web 服務,可能會要求請求的傳送方提供一張或多張證書以確認身份。不過多數 web 服務只需要提供使用者名稱和密碼。

程式可以保留 credential, 並有以下三種保留模式。

c WebApi之身份驗證 Basic基礎認證

為什麼需要身份認證 身份認證是為了提高介面訪問的安全性,如果沒有身份驗證,那麼任何只要知道伺服器的url,就可以隨意訪問伺服器,從而訪問或者運算元據庫,這會是很恐怖的事。什麼是basic基礎認證 basic基礎認證是一種簡單的使用者名稱 密碼驗證過程,它的主要原理是加密使用者資訊,生成票據,每次需要...

springsecurity Run As認證服務

zhangxin.security.service.roleservice.loadmenu role user,run as temp zhangxin.security.runasdemo.runasdate.showdate role admin,role run as temp object...

Token Cookie Session的認識了解

token token的意思是 令牌 是使用者身份的驗證方式,最簡單的token組成 uid 使用者唯一的身份標識 time 當前時間的時間戳 sign 簽名,由token的前幾位 雜湊演算法壓縮成一定長的十六進製制字串,可以防止惡意第三方拼接token請求伺服器 還可以把不變的引數也放進token...