Last updated on
Apr 27, 2021
|
Also applies to ColdFusion
Filter definition and mapping in portlet.xml
<filter> <filter-name>Example ColdFusion Filter</filter-name> <filter-class>coldfusion.portlet.ColdFusionPortletFilter</filter-class> <lifecycle>RENDER_PHASE</lifecycle> <lifecycle>EVENT_PHASE</lifecycle> <lifecycle>RESOURCE_PHASE</lifecycle> <lifecycle>ACTION_PHASE</lifecycle> <init-param> <name>cfcName</name> <value>portlets.filter.ExampleFilter</value> </init-param> </filter>
Add filter mapping, that filter applied to particular portlet.
<!-- Applies Example Filter to All Portlets --> <filter-mapping> <filter-name>Example ColdFusion Filter</filter-name> <portlet-name>*</portlet-name> </filter-mapping>
ExampleFilter.cfc:
The following is the ExampleFilter.cfc mentioned in the portlet.xml.
<cfcomponent extends="CFIDE.portlets.filter.ColdFusionPortletFilter"> <cffunction name="doRenderFilter" returntype="void"> <cfargument name="renderRequest"> <cfargument name="renderResponse"> <cfargument name="filterChain"> <cflog file="portlet-filter" type="information" text="doRenderFilter() invoked"> <!--- call the next filter in the chain ---> <cfset arguments.filterChain.doFilter(arguments.renderRequest, arguments.renderResponse)> </cffunction> <cffunction name="doActionFilter" returntype="void"> <cfargument name="actionRequest"> <cfargument name="actionResponse"> <cfargument name="filterChain"> <cflog file="portlet-filter" type="information" text="doActionFilter() invoked"> <!--- call the next filter in the chain ---> <cfset arguments.filterChain.doFilter(arguments.actionRequest, arguments.actionResponse)> </cffunction> <cffunction name="doResourceFilter" returntype="void"> <cfargument name="resourceRequest"> <cfargument name="resourceResponse"> <cfargument name="filterChain"> <cflog file="portlet-filter" type="information" text="doResourceFilter() invoked"> <!--- call the next filter in the chain ---> <cfset arguments.filterChain.doFilter(arguments.resourceRequest, arguments.resourceResponse)> </cffunction> <cffunction name="doEventFilter" returntype="void"> <cfargument name="eventRequest"> <cfargument name="eventResponse"> <cfargument name="filterChain"> <cflog file="portlet-filter" type="information" text="doEventFilter() invoked"> <!--- call the next filter in the chain ---> <cfset arguments.filterChain.doFilter(arguments.eventRequest, arguments.eventResponse)> </cffunction> </cfcomponent>