Hi,
Since migrating from CFMX7 to CF11 we are experiencing some weird failure with cflogin (using session or cookie storage).
Basically when we log-in on the application after a session/client timeout the first login doesn't last for longer than the login submit request.
The second login however is OK
I made a very simple application.cfc/index.cfm with short timeouts to check this:
<cfcomponent
output="false"
hint="I define the application settings and event handlers.">
<!--- Define the application settings. --->
<cfset this.name = hash( getCurrentTemplatePath() ) />
<cfset this.applicationTimeout = createTimeSpan( 0, 0, 10, 0 ) />
<cfset this.sessionTimeout = createTimeSpan( 0, 0, 0, 10 ) />
<!--- Set up the application. --->
<cfset THIS.SessionManagement = true />
<cfset THIS.ClientManagement = true />
<cfset THIS.SetClientCookies = true />
<cfset THIS.loginStorage = "Session" />
<cfset THIS.clientStorage = "sidys" />
<!--- Define the request settings. --->
<cfsetting showdebugoutput="false" />
<cffunction
name="OnRequestStart"
access="public"
returntype="boolean"
output="true"
hint="Fires at first part of page processing.">
<!--- Define arguments. --->
<cfargument
name="TargetPage"
type="string"
required="true"
/>
<cfset SetLocale("fr_FR") />
<cfif IsDefined("Form.logout") or IsDefined("URL.logout")>
<cflogout />
</cfif>
<cflogin idletimeout="20">
<cfdump var="#Session#">
<cfinclude template="form.inc" />
<cfif not isDefined("cflogin") or (cflogin.name IS "" OR cflogin.password IS "")>
<cfoutput>
<form method="post">
<b>login :</b>
<input type="text" name="j_username" size="24" class="champ" />
<b>passwordnbsp;:</b>
<input type="password" name="j_password" size="15" class="champ" />
<input type="submit" value="Login" class="button" name="submit" />
</form>
</cfoutput>
<cfabort>
<cfelse>
<cflock timeout="10" scope="Session" type="exclusive">
<cfloginuser name="#cflogin.name#" Password="#cflogin.password#" roles="role">
<cfset Session.id=cflogin.name />
</cflock>
</cfif>
</cflogin>
<cfdump var="#Session#">
<cfif GetAuthUser() NEQ "">
<cfoutput>
<form method="Post">
<input type="submit" Name="Logout" value="Logout">
</form>
</cfoutput>
</cfif>
<cfreturn true />
</cffunction>
</cfcomponent>