Hey Cliff... Could you also post your ColdSpring.xml file (or at least the part that sets up the modelglue.modelGlueConfiguration bean)?
What you've posted so far looks correct but I also need to see now ColdSpring is configuring the framework itself. Thanks Dan On Jul 28, 7:09 pm, Clifford Moon <[email protected]> wrote: > Greetings, > > I'm new to Model Glue, have been working with it for a month or > so,have generally been lost but can appreciate it's strengths. We are > currently trying to setup Authentication by using Event Types. Dan > Wilson gave me some hints, and directed me to this group for some > additional help with my problem. Here's a quick run-down that I sent > to him that explains where I'm trying to go with this, and what is > happening. If anyone could help me to figure this out, I'd greatly > appreciate it.. > > I've further included my modelglue.xml, controller.cfc and login.cfm > that I'm using to make this work. > > Thanks in Advance, > > Clifford Moon > > I've setup the secure event type, with it broadcasting the message > needsAuthenticatedUser, which tests for a session variable being set > to true. If it's not set to true, I used the event.forward and send > it to the "login" event handler which dumps the login.cfm form. I've > set the submit on that form to be checkAuthentication which is another > event, which broadcasts checkAuthentication which executes > checkAuthentication inside the controller.cfc. That then tests > against a temporary username and password "1" and "2" and if they are > true, I set the session variable to true, otherwise, use the > event.forward to again send them to the login page. > > I know this is partially working because I can do a run through, and > it's correctly setting the session variable to true as it's supposed > to, and when I call my "secure" event (security is what I called it), > it doesn't display the login form, but rather goes ahead and dumps my > form that I want to make secure. > > My quandary is this: When I call my app, passing in the > "event=security" to use the "secure" event-type, and I authenticate > correctly, I'm winding back up at my checkAuthentication event (and > subsequently a blank page), rather than it passing it back to the > "event=security" and me seeing my form. Somewhere, I'm missing a > step. > > Any help would be greatly appreciated. > > Thanks, > > Cliff > > *************************************************************************** > ******** > LOGIN.CFM > > <cfset event.copyToScope(variables,"xe_login") /> > <cfset session.adminLoggedIn = false /> > <cfset submit = event.linkTo(xe_login) /> > > <cfoutput> > <cfform name="" action="#submit#"> > <cfinput name="user" type="text"> > <cfinput name="pass" type="password"> > <cfinput name="submit" type="submit" value="submit"> > </cfform> > </cfoutput> > > *************************************************************************** > ******** > MODELGLUE.XML > > <?xml version="1.0" encoding="UTF-8"?> > <modelglue> > > <config> > <setting name="dsn" value="tstapx" /> > </config> > > <controllers> > <controller id="Controller" > type="developers.cliff.honors.controller.Controller"> > <!-- > <message-listener message="message" function="controllerFunction" /> > --> > <message-listener message="submitFormData" /> > <message-listener message="submitStudentFormData" /> > <message-listener message="submitTransferFormData" /> > <message-listener message="submitHighSchoolFormData" /> > <message-listener message="needsAuthenticatedUser" /> > <message-listener message="checkAuthentication" /> > </controller> > </controllers> > > <event-types> > <!-- Sample Event Type: > You can use before, after or both. > <event-type name="templatedPage"> > <before> > <results> > <result > do="SomethingThatShouldRunBefore"/> > </results> > </before> > <after> > <results> > <result > do="SomethingThatShouldRunAfter"/> > </results> > </after> > </event-type> > --> > > <event-type name="templatedPage"> > <after> > <views> > <include name="main" > template="layout/Master.Layout.cfm" /> > </views> > </after> > </event-type> > > <event-type name="secure"> > <before> > <broadcasts> > <message > name="needsAuthenticatedUser" /> > </broadcasts> > </before> > </event-type> > </event-types> > > <event-handlers> > > <event-handler name="default" type="templatedPage"> > <views> > <include name="primary" > template="frmMainStudent.cfm"> > <value name="xe_receiveformat" > value="handleStudentFormAction" /> > </include> > </views> > </event-handler> > > <event-handler name="transfer" type="templatedPage"> > <views> > <include name="primary" > template="frmMainTransfer.cfm"> > <value name="xe_receiveformat" > value="handleTransferFormAction" / > > </include> > </views> > </event-handler> > > <event-handler name="student" type="templatedPage"> > <views> > <include name="primary" > template="frmMainStudent.cfm"> > <value name="xe_receiveformat" > value="handleStudentFormAction" /> > </include> > </views> > </event-handler> > > <event-handler name="highschool" type="templatedPage"> > <views> > <include name="primary" > template="frmMainHighSchool.cfm"> > <value name="xe_receiveformat" > value="handleHighSchoolFormAction" /> > </include> > </views> > </event-handler> > > <event-handler name="security" type="secure,templatedPage"> > <views> > <include name="primary" > template="frmMainHighSchool2.cfm"> > <value name="xe_receiveformat" > value="handleHighSchoolFormAction" /> > </include> > </views> > </event-handler> > > <event-handler name="handleStudentFormAction" type="templatedPage"> > <broadcasts> > <message name= "submitStudentFormData" /> > </broadcasts> > <views> > <include name="primary" template="pages/ > dspDisplayStudentForm.cfm" /> > </views> > </event-handler> > > <event-handler name="handleTransferFormAction" type="templatedPage"> > <broadcasts> > <message name= "submitTransferFormData" /> > </broadcasts> > <views> > <include name="primary" template="pages/ > dspDisplayTransferForm.cfm" /> > </views> > </event-handler> > > <event-handler name="handleHighSchoolFormAction" > type="templatedPage"> > <broadcasts> > <message name= "submitHighSchoolFormData" /> > </broadcasts> > <views> > <include name="primary" template="pages/ > dspDisplayHighSchoolForm.cfm" /> > </views> > </event-handler> > > <event-handler name="login" type="templatedPage"> > <views> > <include name="primary" > template="pages/login.cfm"> > <value name="xe_login" > value="checkAuthentication" /> > </include> > </views> > </event-handler> > > <event-handler name="checkAuthentication" type="templatedPage"> > <broadcasts> > <message name= "checkAuthentication" /> > </broadcasts> > </event-handler> > > <!-- > Sample Event Handler: > <event-handler name="eventname"> > <broadcasts> > <message name="message" /> > </broadcasts> > <results> > <result name="resultName" do="otherEvent" /> > </results> > <views> > <include name="body" template="content.cfm" /> > </views> > </event-handler> > --> > > <!-- A homepage for your application. --> > <event-handler name="page.index"> > <broadcasts /> > <results> > <result do="template.main" /> > </results> > <views> > <include name="body" template="pages/index.cfm" /> > </views> > </event-handler> > > <!-- An error event to show when an error occurs, much like > <cferror>. --> > <event-handler name="page.error"> > <broadcasts /> > <results> > <result do="template.main" /> > </results> > <views> > <include name="body" template="pages/exception.cfm" /> > </views> > </event-handler> > > <!-- A "404" event to show when the requested event isn't defined. -- > > <event-handler name="page.missing"> > <broadcasts /> > <results> > <result do="template.main" /> > </results> > <views> > <include name="body" > template="pages/missingEvent.cfm" /> > </views> > </event-handler> > > <!-- Private events: can't be accessed through a URL --> > <event-handler access="private" name="template.main"> > <views> > <include name="main" template="templates/main.cfm" /> > </views> > </event-handler> > </event-handlers> > > </modelglue> > > *************************************************************************** > ******** > CONTROLLER.CFC > > <cfcomponent output="false" hint="I am a Model-Glue controller." > extends="ModelGlue.gesture.controller.Controller" beans="FormHandler" > > > > <cffunction name="init" access="public" output="false" > hint="Constructor"> > <cfargument name="framework" /> > > <cfset super.init(framework) /> > > <cfreturn this /> > </cffunction> > > <cffunction name="submitFormData" access="public" returntype="void" > output="false" hint="???"> > <cfargument name="event" type="any" > > <cfset var fullname = > arguments.event.getValue("formfullname") /> > <cfset arguments.event.setValue("User", fullname) /> > <cfset arguments.event.setValue("myFullName", fullname) /> > <cfset arguments.event.setValue("UtpaTitle",formUTPATitle) /> > <cfset arguments.event.setValue("UtpaPhone",formUTPAPhone) /> > <cfset > arguments.event.setValue("dsn",getModelGlue().getConfigSetting("dsn")) / > > > > <cfset da = beans.FormHandler.one() /> > > <cfset otr = beans.FormHandler.set('ITESM','') /> > <cfset qr = beans.FormHandler.get() /> > > <cfset arguments.event.setValue("bed",da) /> > <cfset arguments.event.setValue("qry",qr) /> > > </cffunction> > > <cffunction name="needsAuthenticatedUser" access="public" > returntype="void" output="false" hint="???"> > <cfargument name="event" type="ModelGlue.Core.Event" > required="true"> > <cfif not structKeyExists(session, "adminloggedin") OR NOT > session.adminLoggedIn> > <cfset arguments.event.forward("login") /> > <!--- <cfset > arguments.event.addResult("notAuthenticated")> --- > > </cfif> > </cffunction> > > <cffunction name="checkAuthentication" access="public" > returntype="void" output="true" hint="???"> > <cfargument name="event" type="ModelGlue.Core.Event" > required="true"> > <cfset username=arguments.event.getValue("user") /> > <cfset password=arguments.event.getValue("pass") /> > > <!--- Super Simple test for a username/password pair ---> > <cfif username is "1" and password is "2"> > <cfset session.adminLoggedIn = true /> > <cfelse> > <cfset arguments.event.forward("login") /> > </cfif> > </cffunction> > > </cfcomponent> -- Model-Glue Sites: Home Page: http://www.model-glue.com Documentation: http://docs.model-glue.com Bug Tracker: http://bugs.model-glue.com Blog: http://www.model-glue.com/blog You received this message because you are subscribed to the Google Groups "model-glue" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/model-glue?hl=en
