我被要求不要在我的代碼中的任何地方使用Session
。目前,我正在向Web服務界面驗證用戶身份,並將訪問令牌(對象)存儲在會話中,並將其用於後續請求。什麼是將它存儲在服務器端的好地方?出於安全原因,我不想將它發送給客戶端。jquery ajax調用 - 使用會話的替代方法?
下面的代碼 -
var person;
$.ajax({
url: 'Default.aspx/LoadPerson',
data: JSON.stringify({ id: 1 }),
type: 'POST',
contentType: 'application/json;',
dataType: 'json',
success: function (result) {
person = result.d;
}
});
我的Web服務方法看起來是這樣的 -
[WebMethod]
public static Person LoadPerson(int i)
{
var person = new Person();
person.Name = "Bob";
var userToken = SetupWebserviceUser();
HttpContext.Current.Session["UserToken"] = userToken();
// Call web service, get data.
return person;
}
爲什麼你不能使用會話?這似乎是存儲這些數據的理想場所。另一種選擇是將令牌存儲在數據庫或服務器的內存中,並使用cookie跟蹤用戶,但這正是會話在.net中的工作方式。 – Joel 2012-02-06 20:57:57
該應用將被集成到Web場上的Sharepoint網站。我們的管理員要求我避免使用會話。 – tempid 2012-02-06 21:00:51