我被要求不要在我的代码中的任何地方使用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