对于 Asp.NET Web 应用程序,使用状态服务器会话和 Web 场;如何限制用户多次登录。如果用户已经登录,则不应允许他使用来自不同浏览器的相同凭据登录。我找到了一个链接,可以自动注销以前的会话Single Session Enforcement。但要求是让第一个会话保持活动状态,而不是让他退出。每当第二个会话尝试登录时,他应该会收到错误消息,指出“用户已登录”。
我们有 20 分钟的会议时间。
先感谢您。
对于 Asp.NET Web 应用程序,使用状态服务器会话和 Web 场;如何限制用户多次登录。如果用户已经登录,则不应允许他使用来自不同浏览器的相同凭据登录。我找到了一个链接,可以自动注销以前的会话Single Session Enforcement。但要求是让第一个会话保持活动状态,而不是让他退出。每当第二个会话尝试登录时,他应该会收到错误消息,指出“用户已登录”。
我们有 20 分钟的会议时间。
先感谢您。
你可以试试这个:forcurrect browser
if (!Session.IsNewSession && Request.UrlReferrer == null)
{
// new
}
为此,您必须IsLoggedin
在数据库中设置状态。登录时,您必须检查此状态。如果是,true
则用户已经登录。虽然logout
您必须将其更改为 false。
如果用户关闭浏览器
$(function () {
//logic to signout user when he closes browser
window.onclick = function () {
clicked = true;
};
window.onunload = function () {
if (clicked == false) {
$.get("/account/logout");
}
};
});
在注销时,您可以检查if (GetUserContext() != null)
然后更改IsLoggedIn
状态。