I made the changes, however, it does not seems to be working. First of
all, i dont see permissionValidation.cfc initiated at all. If its not
initiating, then sysadmin.accessDenied wont be announced.
If i change to something like this, then it does:
<event-handler event="sysadmin.server_setting" access="public">
<event-filter name="permissionValidation">
<parameter name="role_id" value="3" />
<view-page name="sysadmin.act_server_setting"/>
<view-page name="sysadmin.server_setting"
contentArg="layout.content" />
<execute subroutine="sysadmin.compileLayout" />
</event-filter>
</event-handler>
But, after the change, nothing happens. Blank page is shown.
Mike,
role_id does change, from event to event.
On Dec 16, 12:18 am, "Peter J. Farrell" <[email protected]> wrote:
> ParamArgs (nested inside your filter when you declare it in an
> event-handler) are passed. Change:
>
> if(isUserInRole(event.getArg(role_id)))
>
> to
>
> if(isUserInRole(arguments.paramArgs.role_id))
>
> I'd also clear the event-queue before annnouncing your access denied event:
>
> arguments.eventContext.clearEventQueue():
>
> Also, you can change this:
>
> arguments.eventContext.announceEvent("sysadmin.accessDenied",
>
> to this:
>
> announceEvent("sysadmin.accessDenied", arguments.event.getArgs());
>
> AnnounceEvent() is one of the built in methods in the BaseComponent
> class that MachII.framework.EventFilter inherits from.
>
> HTH,
> .Peter
>
> geomunir said the following on 12/16/2009 01:36 AM:
>
>
>
>
>
> > I'm trying to get filter working, but for some reason its not working
> > as expected. Maybe, something in my logic or i'm not getting the
> > filter right.
>
> > Whats happening?: Well, I see the event filter is being triggered, but
> > nothing happens, regular page is displayed. I'm logged in as not
> > authorized user (role_id=4), and reguired role_id = 3 (parameter).
>
> > When i'm not authorized, i should be redirected to
> > sysadmin.accessDenied event.
>
> > Here is the code:
>
> > mach-ii.xml
> > --
> > <event-filters>
> > <event-filter name="permissionValidation"
> > type="blaz.filters.permissionValidation" />
> > </event-filters>
>
> > <event-handler event="sysadmin.server_setting" access="public">
> > <event-filter name="permissionValidation">
> > <parameter name="role_id" value="3" />
> > </event-filter>
>
> > <view-page name="sysadmin.act_server_setting"/>
> > <view-page name="sysadmin.server_setting"
> > contentArg="layout.content" />
> > <execute subroutine="sysadmin.compileLayout" />
>
> > </event-handler>
>
> > permissionValidation.cfc
> > <cfcomponent extends="MachII.framework.EventFilter" hint="Permision
> > Validation">
> > <cffunction name="configure" access="public" output="false"
> > returntype="void" hint="Configures the filter">
> > <!--- Does nothing --->
> > </cffunction>
>
> > <!--- Authenticate Specfic Role --->
> > <cffunction name="filterEvent" returntype="boolean">
> > <!--- Required Arguments --->
> > <cfargument name="event" type="MachII.framework.Event"
> > required="true" />
> > <cfargument name="eventContext"
> > type="MachII.framework.EventContext" required="true" />
> > <cfargument name="paramArgs" type="struct" required="false"
> > default="#StructNew()#" />
>
> > <cfscript>
> > //Declare variable and assign initial value
> > var validationBoolean = false;
>
> > //If logged in user matches with Required role
> > if(isUserInRole(event.getArg(role_id)))
> > {
> > //Assign value to a variable
> > validationBoolean = true;
> > }
> > else
> > {
> > //Assign value to a variable
> > validationBoolean = false;
>
> > //Announce Mach-II Event-Handler
> >
> > arguments.eventContext.announceEvent("sysadmin.accessDenied",
> > arguments.event.getArgs());
> > }
>
> > </cfscript>
>
> > <cfreturn validationBoolean>
> > </cffunction>
>
> > </cfcomponent>
>
> --
>
> The Harmonious Programmer
> <http://feeds.feedburner.com/%7Er/TheHarmoniousProgrammer/%7E6/1>
>
> *Peter J. Farrell*
> Email: [email protected] | p...@maestropublishing
> Blog: The Harmonious Programmer <http://blog.maestropublishing.com>
> Twitter/Identi.ca: @maestrofjp
>
> TheHarmoniousProgrammer.1.gif
> 64KViewDownload- Hide quoted text -
>
> - Show quoted text -
--
You received this message because you are subscribed to Mach-II for CFML list.
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/mach-ii-for-coldfusion?hl=en
SVN: http://greatbiztoolsllc.svn.cvsdude.com/mach-ii/
Wiki / Documentation / Tickets:
http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/