我想检测用户从其他系统登录的位置。我尝试了一些代码。这是
登录后 1)将System.Web.HttpContext.Current.Session.SessionID保存到数据库中 2)在数据库中匹配此值。如果会话值不同,它将发送电子邮件。
但是从同一系统登录时,System.Web.HttpContext.Current.Session.SessionID总是不同的。我从Chrome登录后,System.Web.HttpContext.Current.Session.SessionID与alwasy不同。
如何以正确的方式检测。
答案 0 :(得分:0)
首先,您需要了解每个浏览器的每个用户都维护会话。这意味着如果您使用chrome
和firefox
以及IE
的同一用户登录,则同一用户将拥有三个不同的会话。其次,如果您的Session.ID
经常更改两个,那么您可能在web.config中将值设置为会话超时。请检查您的web.config
并查找设置会话超时的代码。它应该在confiugration
之下,然后在system.web
之下,如下所示
<configuration>
<system.web>
<sessionState timeout="20"></sessionState>
</system.web>
</configuration>
以上代码将会话超时设置为20分钟。