devo codice come questo che viene eseguito quando un utente è autorizzato:cookie scade o timeout di sessione troppo presto
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
1,
email,
DateTime.Now,
DateTime.Now.AddMinutes(120),
true,
userData);
string encTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
faCookie.Expires = authTicket.Expiration;
Response.Cookies.Add(faCookie);
Ho quindi reindirizzare a un controller/azione che ha l'attributo Authrize:
[Authorize]
public class ProductsController : Controller
{
ho il seguente nel file web.config:
<authentication mode="Forms">
<forms loginUrl="~/Home/Unauthorized" timeout="2880" />
</authentication>
<sessionState timeout="120"></sessionState>
Tuttavia gli utenti si lamentano della sessione timeout o ri dirigere Home/Non autorizzato dopo un paio di minuti di inattività.
cosa potrebbe causare questo, cos'altro dovrei controllare?
Non capisco perché la gente si confonda con il timeout del cookie di autenticazione del modulo e il timeout della sessione del server ... sono 2 diversi compagni di telefono – Shaz
che stai dicendo al tuo server di scadere del tempo utente in 120 minuti e sul altra mano che dice al cookie del browser di conservare il ticket di autenticazione per il 2280 ... ovviamente il ticket scade dopo 120 e l'utente ottiene il timeout ... mentre l'utente mantiene ancora il ticket di autenticazione precedente. – Shaz
Hai definito esplicitamente il tuo 'MachineKey' nel tuo web. config? – Tommy