如果有人能幫助我,我會很感激。目前,我正在ASP.NET應用程序上實現一些jQuery AJAX方法,以將GET和POST數據發送到我們的服務器。我們希望對此進行某種形式的身份驗證,這種身份驗證非常輕量且相當快速。AJAX請求WCF服務身份驗證
當前每個AJAX請求都會將Forms Authentication cookie發送到我們的WCF服務,如Fiddler所示。當我們收到對我們WCF服務的請求時,它有一個解密Forms Authentication cookie的方法。目前只有當cookie不爲空且未過期時,它纔會給出數據響應。這工作正常,並且cookie的唯一存在方式是用戶已通過我們的安全登錄系統。
我想知道的是,這是否是確保我們的AJAX調用的有效形式,儘管是基本的。
模仿形式餅乾很容易嗎?是否有可能規避餅乾形式?任何建議,將不勝感激,因爲我在這裏有點超出我的深度。
編輯:我們目前有SSL和安全的HTTPS傳輸也啓用。
這裏是我們的代碼示例:
所有的private bool AuthenticateAJAXRequest()
{
// assume user is not authenticated
bool authenticated = false;
if (HttpContext.Current != null)
{
if (HttpContext.Current.Request != null)
{
var authCookie = HttpContext.Current.Request.Cookies["authCookie"];
if (authCookie != null)
{
FormsAuthenticationTicket fTicket = FormsAuthentication.Decrypt(authCookie.Value);
if (fTicket != null)
{
if (!fTicket.Expired)
authenticated = true;
}
}
}
}
return authenticated;
}
感謝您的回覆。域名問題沒有任何問題,因爲我們的服務和網站託管在同一個域名上,我們測試了他們的工作。至於餅乾,我們的網站受衆不會很大,它更像是一個用戶門戶而不是網站。目前的實現已經使用了cookie,還有一大堆的JavaScript。我們已經對我們未來的測試人員說過,他們需要啓用cookie和JScript才能使用該站點。關於這些獨特的ID,你將如何獲得分配給用戶的唯一ID?他們的提供者密鑰或者是其他東西。 – MightyLampshade