2011-09-11 104 views
0

現在,我面臨Web服務身份驗證的困難。客戶端請求Web服務。首先,客戶端需要使用用戶名和密碼登錄。然後,服務器將給予具有過期時間的令牌(隨機/日期時間/隨機代碼)以訪問Web服務。客戶端可以使用令牌密鑰請求Web服務。 Web服務需要驗證令牌是否正確。 現在,以下是我的代碼。但我不知道如何繼續驗證令牌是否正確。請幫幫我!如何驗證令牌是否正確?

[WebMethod] 
public String SampleWebMetho(string username, String Password) 
{ 
    if (username=="demo" && Password== "123") 
    { 
     string token= Guid.NewGuid().ToString()+username +"|" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss) + 
"|" + Guid.NewGuid().Tostring(); 
     return token + " is an Authenticated user to access the Web Method"; 
    } 
    else 
    { 
     return "Access denied for " + username; 
    } 
} 
+1

是否有任何理由,你爲什麼不使用一些內置的身份驗證方案? – Stilgar

+0

至少服務器應該保留令牌的副本來驗證傳入的令牌。 –

回答

1

存儲在數據庫中(我想你已經有一個用於用戶)的標記,使webMethods的對證

+0

我不想保存在數據庫中,因爲我使用日期時間定義了令牌。還有其他方法嗎?如果您有示例代碼,請給我!我真的很頭疼:( – user936342

+0

)如果你想驗證Web方法調用,你將不得不將這些令牌存儲在某個地方。如果你不想使用數據庫(爲什麼?),你可以例如存儲在Web服務的應用程序狀態中的活動令牌 –

+0

如果您沒有將其存儲在服務器上,則每個用戶都可以製作/延長自己的令牌。 –