On my Sitecore instance I'm authenticating a user programatically like this(adapted for this post): [HttpGet] public ActionResult MyAction(MyModel model) { //custom logic Sitecore.Security.Authentication.AuthenticationManager.Login("extranet\\"+username,password); } This works well. When I call the `Sitecore.Context.User.IsAuthenticated` property to check whether the user was authenticated it returns true. But that lasts until the ActionResult finishes it's execution. When I make a post or redirect the user to another page the IsAuthenticated property always returns false. For example I have a post which gets executed on the same page declared as: [HttpPost] public ActionResult MyAction(MyModel model, string anotherParameter) { //This always returns false if (Sitecore.Context.User.IsAuthenticated) { //my custom logic. } } This is what my session state looks on the web.config <sessionState mode="InProc" cookieless="false" timeout="20" sessionIDManagerType="Sitecore.SessionManagement.ConditionalSessionIdManager"> <providers> <add name="mongo" type="Sitecore.SessionProvider.MongoDB.MongoSessionStateProvider, Sitecore.SessionProvider.MongoDB" sessionType="Standard" connectionStringName="session" pollingInterval="2" compression="true" /> <add name="mssql" type="Sitecore.SessionProvider.Sql.SqlSessionStateProvider, Sitecore.SessionProvider.Sql" sessionType="Standard" connectionStringName="session" pollingInterval="2" compression="true" /> </providers> </sessionState> As far as I can tell this is fine and should make the session last for 20 minutes. Any thoughts on what could be wrong here?