I am playing around with the new event-types and I am sure I am doing
something wrong but I can't figure out what it is. I have an app with
an admin area. The admin area is secure and you need to be logged in
to access it, if your not we show a login form, nothing fancy here.
<event-type name="securedPage">
<before>
<broadcasts>
<message name="isAuthenticated"/>
</broadcasts>
<results>
<result name="notAuthenticated" do="admin.login"/>
</results>
</before>
</event-type>
<event-type name="adminTemplate">
<before>
<results>
<result do="template.admin" />
</results>
</before>
</event-type>
And here are my event handlers cut down for my admin section. This to
me is saying everytime one of these events are requested I am going to
broadcast the isAuthenticated() message and also use my admin template
wrapper. If I am not authenticated I route logic to my admin.login
which is nothing more then a simple form.
<event-handler name="admin.home" type="securedPage,adminTemplate">
<views>
<include name="body" template="admin/index.cfm" />
</views>
</event-handler>
<event-handler name="admin.categories"
type="securedPage,adminTemplate">
<views>
<include name="body" template="admin/categories.cfm" />
</views>
</event-handler>
<event-handler name="admin.category"
type="securedPage,adminTemplate">
<views>
<include name="body" template="admin/category.cfm" />
</views>
</event-handler>
<event-handler name="admin.login" type="adminTemplate">
<broadcasts>
<message name="authenticate"/>
</broadcasts>
<views>
<include name="body" template="admin/login.cfm" />
</views>
</event-handler>
This works great but now have presented the user with a form and I
need them to login. You will notice on my admin.login I now broadcast
an authenticate message. Here is my security controller.
<controller id="SecurityController"
type="thetiestore.controller.SecurityController">
<message-listener message="authenticate"
function="authenticate"/>
<message-listener message="isAuthenticated"
function="isAuthenticated"/>
</controller>
And the controller itself - I have no idea why but the username and
password values from the form are not in the event when I request
them.
<cfcomponent extends="ModelGlue.gesture.controller.Controller"
output="false">
<cffunction name="init" access="public" output="false"
hint="Constructor">
<cfreturn this />
</cffunction>
<cffunction name="authenticate" access="public" returnType="void"
output="true">
<cfargument name="event" type="ModelGlue.Core.Event"
required="true">
<cfset var username = arguments.event.getValue("username")>
<cfset var password = arguments.event.getValue("password")>
<cfif username EQ "dan" AND password EQ "password">
<cfset session.adminLoggedIn = true />
</cfif>
<cfset arguments.event.addResult("username",username)>
<cfset arguments.event.addResult("password",password)>
</cffunction>
<cffunction name="isAuthenticated" access="public" returnType="void"
output="false">
<cfargument name="event" type="ModelGlue.Core.Event"
required="true">
<cfif not structKeyExists(session, "adminloggedin") OR NOT
session.adminLoggedIn>
<cfset arguments.event.addResult("notAuthenticated")>
</cfif>
</cffunction>
</cfcomponent>
I am still a mg newb so I apologize if I am missing something simple
here.
--~--~---------~--~----~------------~-------~--~----~
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
For more about Model-Glue, check http://www.model-glue.com .
-~----------~----~----~----~------~----~------~--~---