ASP.NET MVC-更改系统日期时Request.IsAuthenticated为false

时间:2018-09-24 04:34:53

标签: asp.net .net asp.net-mvc

如果我最初登录的是当前日期,则可以成功登录,但是之后我注销并更改系统日期,然后再次尝试登录IsAuthenticated是false。为什么?

1 个答案:

答案 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;

希望能解决您的问题。