CBSecurity stores the secured incoming url so you can relocate the user to it after authenticating.
The security module has the concept of a secured URL which is the actual URL that got intercepted and relocated because of a security exception. This is stored in the request collection as rc._securedURL and in the ColdBox flash memory as _securedURL.
So always remember to use this variable to provide a seamless login experience to your users. You can easily place it in the login form as a hidden field:
#html.startForm( action=prc.xehDoLogin, name="loginForm" )#<!--- Store the _securedURL so we can use it to relocate --> #html.hiddenField( name="_securedURL", value=event.getValue('_securedURL','') )# #html.textfield(name="username",label="Username: ",size="40",required="required",class="textfield",value=prc.rememberMe)#
#html.passwordField(name="password",label="Password: ",size="40",required="required",class="textfield")# <divid="loginButtonbar"> #html.checkBox(name="rememberMe",value=true,checked=(len(prc.rememberMe)))# #html.label(field="rememberMe",content="Remember Me ",class="inline")# #html.submitButton(value=" Log In ",class="buttonred")# </div> <br/> <imgsrc="#prc.cbRoot#/includes/images/lock.png"alt="lostPassword" /> <ahref="#event.buildLink( prc.xehLostPassword )#">Lost your password?</a> #html.endForm()#
In your login action you can use the secured URL and relocate appropriately: