如果我最初登录的是当前日期,则可以成功登录,但是之后我注销并更改系统日期,然后再次尝试登录IsAuthenticated是false。为什么?
答案 0 :(得分:1)
在Asp.net MVC中,当用户登录时,将为特定用户创建一个会话,并且该会话的超时值以分钟为单位。因此,在创建会话时,它仅在指定的时间段内有效,此后,该会话将过期。
在您的情况下,当您更改系统日期和时间时,会话时间似乎过期了(因为从创建会话到当前时间的间隔大于指定的会话超时值),这就是您的方式重定向到登录页面。您可以通过两种方式更改会话时间。您可以在web.config
文件中添加会话属性,也可以由Session.Timeout
指定。有关更多信息,请参见此
Session Timeout MSDN Reference。
Web.config文件:
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
或:
Session.Timeout=30;
希望能解决您的问题。