【发布时间】:2017-09-11 06:06:56
【问题描述】:
我的要求 - 我有一个 web api,它为我提供了来自 db 的所有数据。我有一个 .net 网站,它使用这个 api 来获取所有数据。现在我想要的是当我登录我的网站时,我想在“API”中管理会话。
我知道 web api 中的会话不是一个好方法,但我仍然需要这样做。
我已经在 web api 中实现了会话管理(引用自 here),如果我从邮递员发送我的所有请求(即我通过调用 1 个方法并检索它来设置会话中的变量),它工作正常通过调用第二种方法的会话变量)。但是,当我在 jQuery 的 asp.net 网站上做同样的事情时,我没有得到存储的会话变量(我注意到每次请求的会话 id 都不同)。
在会话中保存变量的代码
$.ajax({
url: 'http://localhost:63726/api/Login/Login',
type: "GET",
dataType: "JSON",
success: function (data) {
alert("success");
},
error: function (data) {
alert("error");
}
});
检索存储在会话中的变量的代码
$.ajax({
url: 'http://localhost:63726/api/SessionCheck/LoginName',
type: "GET",
dataType: "JSON",
success: function (data) {
alert("success");
},
error: function (data) {
alert("error");
}
});
我需要做些什么来实现我的目标..您的意见将节省我的时间...
【问题讨论】:
-
在 webapi 中使用 session 不是一个好方法。使用基于令牌的身份验证。
-
我完全同意你的观点,但我的客户只想要这个,所以我需要这样做。
标签: asp.net session asp.net-web-api asp.net-web-api2