ASP.NET MVC FormsAuthentication Cookie timeout can

2020-02-13 09:47发布

问题:

Using the default ASP.NET MVC template, I cannot figure out how to increase the FormsAuthentication timeout. It seems to always use 30 minutes.

I have followed Scott Gu's recommendation from this blog post, but it does not seem to make a difference. Does anyone have a suggestion?

His suggestion was to set the timeout value in the web.config file:

<system.web>
    <authentication mode="Forms">
          <forms timeout="2880"/>
    </authentication>
</system.web>

回答1:

My issue was only occurring in my production environment at my web host.

I found this link and generated a machine key to put in the web.config. Once I did that, the timeout value took effect.



回答2:

I had the same problem and adding a custom MachineKey with a ValidationKey to the web.config solved the problem. It seems to affect shared hosts.

I used this site to generate a random machine key: http://aspnetresources.com/tools/machineKey



回答3:

Be sure that you are setting this in the ~/Web.config file and not in the ~/Views/Web.config file. Also, 50 million minutes is approx. 100 years, which might be hitting some date-related overflow in the browser. Try using a more reasonable number like 2 - 3 years (1.5 million minutes).