You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-user@incubator.apache.org by Kuno Baeriswyl <ku...@bkw-fmb.ch> on 2007/03/22 07:58:36 UTC
Trinidad, Facelets and Acegi
Hello everybody,
I like to put trinidad, facelets and acegi together. The appserver
compiles the HTML page, but complains about an unvalid type:
22.03.2007 08:35:21 com.sun.facelets.tag.jsf.ComponentRule warnAttr
WARNUNG: /layout.xhtml @7,42
xmlns:authz="http://acegisecurity.org/authz" Property 'authz' is not on
type: org.apache.myfaces.trinidad.component.core.CoreDocument
22.03.2007 08:35:23
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer renderContent
SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
UIXCommand but found another type of component instead.
java.lang.ClassCastException: com.sun.facelets.compiler.UILiteralText
I've found an promising acegi-jsf component to solve that problem :
http://www.jroller.com/page/cagataycivici?entry=acegi_jsf_components_hit_the
But, I still get the same error:
22.03.2007 08:52:35 com.sun.facelets.tag.jsf.ComponentRule warnAttr
WARNUNG: /layout.xhtml @7,42
xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
Property 'acegijsf' is not on type:
org.apache.myfaces.trinidad.component.core.CoreDocument
22.03.2007 08:52:41
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer renderContent
SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
UIXCommand but found another type of component instead.
java.lang.ClassCastException: com.sun.facelets.compiler.UILiteralText
I think I still get the same error. Can any body help me?
Here is my facelet and faces-config.xml:
<< START template.xhtml >>
<tr:document
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:tr="http://myfaces.apache.org/trinidad"
xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
title="OPIZ - Pizza online bestellen">
<tr:panelGroupLayout layout="vertical">
<f:facet name="separator">
<tr:separator/>
</f:facet>
<tr:commandLink immediate="true" text="Home"
action="home"/>
<tr:outputFormatted styleUsage="instruction"
value="BKW Intranet"/>
<tr:panelPage >
<f:facet name="navigation1">
<tr:form>
<tr:navigationPane hint="tabs" shortDesc="Wähle Tab">
<tr:commandNavigationItem text="home" action="home"/>
<acegijsf:authorize ifNotGranted="ROLE_ADMIN">
<tr:commandNavigationItem text="Warenkorb" action="showOrder"/>
</acegijsf:authorize>
<acegijsf:authorize ifNotGranted="ROLE_CUSTOMER,ROLE_ADMIN">
<tr:commandNavigationItem text="Registrieren" action="register"/>
<tr:commandNavigationItem text="Anmelden"
action="login"/>
</acegijsf:authorize>
<acegijsf:authorize ifAnyGranted="ROLE_ADMIN">
<tr:commandNavigationItem text="Kundenliste"
action="showCustomer"/>
</acegijsf:authorize>
<acegijsf:authorize ifAnyGranted="ROLE_CUSTOMER">
<tr:commandNavigationItem text="Meine Daten"
action="#{customerAction.editCustomer}"/>
<tr:commandNavigationItem text="Meine Bestellungen"
action="orderHistory"/>
</acegijsf:authorize>
<acegijsf:authorize ifAnyGranted="ROLE_CUSTOMER,ROLE_ADMIN">
<tr:commandNavigationItem text="Abmelden"
action="logout"/>
<acegijsf:authentication operation="username"/>
</acegijsf:authorize>
</tr:navigationPane>
</tr:form>
</f:facet>
<f:facet name="navigationGlobal">
<tr:navigationPane hint="buttons">
<tr:commandNavigationItem text="help"
icon="/images/globalhelp.gif"
action="guide.navigationPane"/>
<tr:commandNavigationItem text="help more"
icon="/images/globalhelp.gif"
action="guide.navigationPane"/>
<tr:commandNavigationItem text="Disabled"
icon="/images/globalhelp.gif"
action="guide.navigationPane"
disabled="true"/>
<tr:commandNavigationItem text="Disabled"
icon="/images/globalhelp.gif"
action="guide.navigationPane"
disabled="true"/>
</tr:navigationPane>
</f:facet>
<f:facet name="branding">
<tr:outputFormatted value="OPIZ - Pizza online
bestellen"
styleUsage="inContextBranding"/>
</f:facet>
<f:facet name="appCopyright">
<tr:outputText value="copyright by BKW Energie AG
2007"/>
</f:facet>
<f:facet name="appPrivacy">
<tr:commandLink text="privacy" action="action.none" />
</f:facet>
<f:facet name="appAbout">
<tr:commandLink text="about" action="action.none" />
</f:facet>
<ui:insert name="content">
<ui:include src=""/>
</ui:insert>
</tr:panelPage>
</tr:panelGroupLayout>
</tr:document>
<< END template.xhtml >>
<< START faces-config.xml >>
<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
<application>
<variable-resolver>
org.springframework.web.jsf.DelegatingVariableResolver
</variable-resolver>
<locale-config>
<default-locale>de_DE</default-locale>
<supported-locale>de</supported-locale>
<supported-locale>en</supported-locale>
</locale-config>
<default-render-kit-id>
org.apache.myfaces.trinidad.core
</default-render-kit-id>
</application>
<component>
<component-type>net.sf.jsfcomp.acegijsf.Authorize</component-type>
<component-class>net.sf.jsfcomp.acegijsf.Authorize</component-class>
</component>
<component>
<component-type>net.sf.jsfcomp.acegijsf.Authentication</component-type>
<component-class>net.sf.jsfcomp.acegijsf.Authentication</component-class>
</component>
<navigation-rule>
<from-view-id>/*</from-view-id>
<navigation-case>
<from-outcome>logout</from-outcome>
<to-view-id>/j_acegi_logout.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/opiz/*</from-view-id>
<navigation-case>
<from-outcome>home</from-outcome>
<to-view-id>/opiz/choosePizza.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>register</from-outcome>
<to-view-id>/opiz/register.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/opiz/login.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>showOrder</from-outcome>
<to-view-id>/opiz/showOrder.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>showCustomer</from-outcome>
<to-view-id>/opiz/showCustomer.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>editCustomer</from-outcome>
<to-view-id>/opiz/editCustomer.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>orderHistory</from-outcome>
<to-view-id>/opiz/showOrderHistory.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/opiz/login.jsp</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/j_acegi_security_check.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/opiz/register.jsp</from-view-id>
<navigation-case>
<from-outcome>register</from-outcome>
<to-view-id>/opiz/showRegistration.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/opiz/choosePizza.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/opiz/choosePizza.xhtml</from-view-id>
<navigation-case>
<from-outcome>add</from-outcome>
<to-view-id>/opiz/showOrder.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>customize</from-outcome>
<to-view-id>/opiz/topPizza.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/opiz/cancel.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/opiz/topPizza.jsp</from-view-id>
<navigation-case>
<from-outcome>add</from-outcome>
<to-view-id>/opiz/showOrder.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/opiz/cancel.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/opiz/showOrder.jsp</from-view-id>
<navigation-case>
<from-outcome>order</from-outcome>
<to-view-id>/opiz/order.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/opiz/cancel.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>continue</from-outcome>
<to-view-id>/opiz/choosePizza.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/opiz/order.jsp</from-view-id>
<navigation-case>
<from-outcome>deliver</from-outcome>
<to-view-id>/opiz/deliver.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/opiz/cancel.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/opiz/showOrderHistory.jsp</from-view-id>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/opiz/cancel.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/opiz/editCustomer.jsp</from-view-id>
<navigation-case>
<from-outcome>cancel</from-outcome>
<to-view-id>/opiz/choosePizza.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
<converter>
<converter-id>pizzaConverter</converter-id>
<converter-class>
de.hanser.buch.opiz.web.jsf.PizzaConverter
</converter-class>
</converter>
<converter>
<converter-for-class>
de.hanser.buch.opiz.domain.Topping
</converter-for-class>
<converter-class>
de.hanser.buch.opiz.web.jsf.ToppingConverter
</converter-class>
</converter>
</faces-config>
<< END faces-config.xml >>
Re: Trinidad, Facelets and Acegi
Posted by Matthias Wessendorf <ma...@apache.org>.
perhaps that dude is also a candidate for myfaces-common.
-M
On 3/23/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> Yeah, it works!
>
> I had to add tomahawk-1.1.5-SNAPSHOT.jar and
> tomahawk-sandbox-1.1.5-SNAPSHOT.jar to my classpath and configured
> acegi's SecurityContextHolderAwareRequestFilter as you proposed.
>
> Thanks a lot!
>
> Kuno
>
>
> On Thu, 2007-03-22 at 17:42 +0200, Cagatay Civici wrote:
> > Hello Kuno,
> >
> > org.acegisecurity.context.SecurityContextImpl has nothing to do with the
> > org.apache.myfaces.SECURITY_CONTEXT, just similar names.
> >
> > The easiest way to use myfaces SecurityContext with Acegi basically you need
> > two things;
> >
> > * Latest MyFaces Sandbox
> > * Configuration of acegi's SecurityContextHolderAwareRequestFilter. Just add
> > this one to your filter list.
> > * Do not configure the context-param org.apache.myfaces.SECURITY_CONTEXT, so
> > that default impl will be picked up.
> >
> > Hope this helps,
> >
> > Regards,
> >
> > Cagatay
> >
> > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > >
> > > Hi,
> > >
> > > ok, I agree with you. I didn't know this option.
> > >
> > > I've added folowing context param to my web.xml
> > > <context-param>
> > > <param-name>org.apache.myfaces.SECURITY_CONTEXT</param-name>
> > >
> > > <param-value>org.acegisecurity.context.SecurityContextImpl</param-value>
> > > </context-param>
> > >
> > > I've found the org.acegisecurity.context.SecurityContextImpl class by
> > > accident in the acegi library.
> > >
> > > But, I don't get any securityContext parameter in my facelet:
> > > <tr:commandNavigationItem text="Warenkorb" action="showOrder"
> > > rendered="#{securityContext.ifNotGranted['ROLE_ADMIN']}"/>
> > >
> > > The component is never rendered!
> > >
> > > Do I need to configure anything else?
> > >
> > > Many Thanks in advance!
> > >
> > > Kuno
> > >
> > > On Thu, 2007-03-22 at 14:45 +0200, Cagatay Civici wrote:
> > > > Hi,
> > > >
> > > > I agree with Matthias and strongly suggest to use the securitycontext el
> > > > extension, it'll be much simpler.
> > > >
> > > > Regards,
> > > >
> > > > Cagatay
> > > >
> > > > On 3/22/07, Matthias Wessendorf <ma...@apache.org> wrote:
> > > > >
> > > > > Hey Kuno,
> > > > >
> > > > > the issue is, that the component expects a <tr:commandNavigationItem>
> > > > > component.
> > > > > The point is, you wrap it by using <acegijsf:authorize>.
> > > > >
> > > > > It would be good, if you could *nest* the <acegijsf:authorize> inside
> > > > > other components.
> > > > >
> > > > > <tr:commandNavigationItem>
> > > > > <acegijsf:authorize />
> > > > > </tr:commandNavigationItem>
> > > > >
> > > > > See see blog discussion, that using tabs might be not the best way of
> > > > > doing this security stuff.
> > > > >
> > > > > There is also something like:
> > > > > http://wiki.apache.org/myfaces/SecurityContext
> > > > > in myfaces, for using EL based sec. checks.
> > > > >
> > > > > -M
> > > > > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > > > > > Hi Cafatay!
> > > > > >
> > > > > > Thanks for your hint! I've found an example application
> > > > > >
> > > > >
> > > http://www.nabble.com/Appfuse-+-facelets-+-other-goodies-t1019957s2369.htmlandadded the facelets JSP taglib mapping to my
> > > > > web.xml
> > > > > >
> > > > > > <context-param>
> > > > > > <param-name>facelets.LIBRARIES</param-name>
> > > > > >
> > > <param-value>/WEB-INF/acegijsf.taglib.xml</param-value>
> > > > > > </context-param>
> > > > > >
> > > > > > But, I still get an error:
> > > > > >
> > > > > > 22.03.2007 09:41:53
> > > > > >
> > > > >
> > > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > > expected
> > > > > > UIXCommand but found another type of component instead.
> > > > > > java.lang.ClassCastException: net.sf.jsfcomp.acegijsf.Authorize
> > > > > >
> > > > > > Do you have any idea?
> > > > > >
> > > > > > Kuno
> > > > > >
> > > > > > On Thu, 2007-03-22 at 10:04 +0200, Cagatay Civici wrote:
> > > > > > > Hi,
> > > > > > >
> > > > > > > Have you defined the acegijsf components in your facelets-taglib
> > > > > config?
> > > > > > >
> > > > > > > Cagatay
> > > > > > >
> > > > > > > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > > > > > > >
> > > > > > > > Hello everybody,
> > > > > > > >
> > > > > > > > I like to put trinidad, facelets and acegi together. The
> > > appserver
> > > > > > > > compiles the HTML page, but complains about an unvalid type:
> > > > > > > >
> > > > > > > > 22.03.2007 08:35:21 com.sun.facelets.tag.jsf.ComponentRulewarnAttr
> > > > > > > > WARNUNG: /layout.xhtml @7,42
> > > > > > > > xmlns:authz="http://acegisecurity.org/authz" Property 'authz' is
> > > not
> > > > > on
> > > > > > > > type: org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > > > > > 22.03.2007 08:35:23
> > > > > > > >
> > > > > > > >
> > > > >
> > > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > > > > expected
> > > > > > > > UIXCommand but found another type of component instead.
> > > > > > > > java.lang.ClassCastException:
> > > > > com.sun.facelets.compiler.UILiteralText
> > > > > > > >
> > > > > > > > I've found an promising acegi-jsf component to solve that
> > > problem :
> > > > > > > >
> > > > > > > >
> > > > >
> > > http://www.jroller.com/page/cagataycivici?entry=acegi_jsf_components_hit_the
> > > > > > > >
> > > > > > > > But, I still get the same error:
> > > > > > > >
> > > > > > > > 22.03.2007 08:52:35 com.sun.facelets.tag.jsf.ComponentRulewarnAttr
> > > > > > > > WARNUNG: /layout.xhtml @7,42
> > > > > > > > xmlns:acegijsf="
> > > http://sourceforge.net/projects/jsf-comp/acegijsf"
> > > > > > > > Property 'acegijsf' is not on type:
> > > > > > > > org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > > > > > 22.03.2007 08:52:41
> > > > > > > >
> > > > > > > >
> > > > >
> > > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > > > > expected
> > > > > > > > UIXCommand but found another type of component instead.
> > > > > > > > java.lang.ClassCastException:
> > > > > com.sun.facelets.compiler.UILiteralText
> > > > > > > >
> > > > > > > > I think I still get the same error. Can any body help me?
> > > > > > > >
> > > > > > > > Here is my facelet and faces-config.xml:
> > > > > > > >
> > > > > > > > << START template.xhtml >>
> > > > > > > > <tr:document
> > > > > > > > xmlns:ui="http://java.sun.com/jsf/facelets"
> > > > > > > > xmlns:h="http://java.sun.com/jsf/html"
> > > > > > > > xmlns:f="http://java.sun.com/jsf/core"
> > > > > > > > xmlns:tr="http://myfaces.apache.org/trinidad"
> > > > > > > > xmlns:acegijsf="
> > > http://sourceforge.net/projects/jsf-comp/acegijsf
> > > > > "
> > > > > > > > title="OPIZ - Pizza online bestellen">
> > > > > > > > <tr:panelGroupLayout layout="vertical">
> > > > > > > > <f:facet name="separator">
> > > > > > > > <tr:separator/>
> > > > > > > > </f:facet>
> > > > > > > > <tr:commandLink immediate="true" text="Home"
> > > > > > > > action="home"/>
> > > > > > > > <tr:outputFormatted styleUsage="instruction"
> > > > > > > > value="BKW Intranet"/>
> > > > > > > > <tr:panelPage >
> > > > > > > > <f:facet name="navigation1">
> > > > > > > > <tr:form>
> > > > > > > > <tr:navigationPane hint="tabs" shortDesc="Wähle
> > > Tab">
> > > > > > > > <tr:commandNavigationItem text="home"
> > > > > action="home"/>
> > > > > > > > <acegijsf:authorize
> > > > > > > > ifNotGranted="ROLE_ADMIN">
> > > > > > > >
> > > <tr:commandNavigationItem
> > > > > > > > text="Warenkorb" action="showOrder"/>
> > > > > > > > </acegijsf:authorize>
> > > > > > > > <acegijsf:authorize
> > > > > > > > ifNotGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > > > > >
> > > <tr:commandNavigationItem
> > > > > > > > text="Registrieren" action="register"/>
> > > > > > > >
> > > <tr:commandNavigationItem
> > > > > > > > text="Anmelden"
> > > > > > > > action="login"/>
> > > > > > > > </acegijsf:authorize>
> > > > > > > > <acegijsf:authorize
> > > > > > > > ifAnyGranted="ROLE_ADMIN">
> > > > > > > >
> > > <tr:commandNavigationItem
> > > > > > > > text="Kundenliste"
> > > > > > > > action="showCustomer"/>
> > > > > > > > </acegijsf:authorize>
> > > > > > > > <acegijsf:authorize
> > > > > > > > ifAnyGranted="ROLE_CUSTOMER">
> > > > > > > >
> > > <tr:commandNavigationItem
> > > > > > > > text="Meine Daten"
> > > > > > > > action="#{customerAction.editCustomer}"/>
> > > > > > > >
> > > <tr:commandNavigationItem
> > > > > > > > text="Meine Bestellungen"
> > > > > > > > action="orderHistory"/>
> > > > > > > > </acegijsf:authorize>
> > > > > > > > <acegijsf:authorize
> > > > > > > > ifAnyGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > > > > >
> > > <tr:commandNavigationItem
> > > > > > > > text="Abmelden"
> > > > > > > > action="logout"/>
> > > > > > >
> > > > <acegijsf:authentication
> > > > > > > > operation="username"/>
> > > > > > > > </acegijsf:authorize>
> > > > > > > > </tr:navigationPane>
> > > > > > > > </tr:form>
> > > > > > > > </f:facet>
> > > > > > > > <f:facet name="navigationGlobal">
> > > > > > > > <tr:navigationPane hint="buttons">
> > > > > > > > <tr:commandNavigationItem text="help"
> > > > > > > >
> > > icon="/images/globalhelp.gif"
> > > > > > > > action="guide.navigationPane
> > > "/>
> > > > > > > > <tr:commandNavigationItem text="help more"
> > > > > > > >
> > > icon="/images/globalhelp.gif"
> > > > > > > > action="guide.navigationPane
> > > "/>
> > > > > > > > <tr:commandNavigationItem text="Disabled"
> > > > > > > >
> > > icon="/images/globalhelp.gif"
> > > > > > > > action="guide.navigationPane
> > > "
> > > > > > > > disabled="true"/>
> > > > > > > > <tr:commandNavigationItem text="Disabled"
> > > > > > > >
> > > icon="/images/globalhelp.gif"
> > > > > > > > action="guide.navigationPane
> > > "
> > > > > > > > disabled="true"/>
> > > > > > > > </tr:navigationPane>
> > > > > > > > </f:facet>
> > > > > > > > <f:facet name="branding">
> > > > > > > > <tr:outputFormatted value="OPIZ - Pizza online
> > > > > > > > bestellen"
> > > > > > >
> > > > styleUsage="inContextBranding"/>
> > > > > > > > </f:facet>
> > > > > > > > <f:facet name="appCopyright">
> > > > > > > > <tr:outputText value="copyright by BKW Energie
> > > AG
> > > > > > > > 2007"/>
> > > > > > > > </f:facet>
> > > > > > > > <f:facet name="appPrivacy">
> > > > > > > > <tr:commandLink text="privacy" action="
> > > action.none"
> > > > > />
> > > > > > > > </f:facet>
> > > > > > > > <f:facet name="appAbout">
> > > > > > > > <tr:commandLink text="about" action="action.none"
> > > />
> > > > > > > > </f:facet>
> > > > > > > >
> > > > > > > > <ui:insert name="content">
> > > > > > > > <ui:include src=""/>
> > > > > > > > </ui:insert>
> > > > > > > > </tr:panelPage>
> > > > > > > > </tr:panelGroupLayout>
> > > > > > > > </tr:document>
> > > > > > > >
> > > > > > > > << END template.xhtml >>
> > > > > > > >
> > > > > > > > << START faces-config.xml >>
> > > > > > > > <?xml version="1.0"?>
> > > > > > > >
> > > > > > > > <!DOCTYPE faces-config PUBLIC
> > > > > > > > "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0
> > > //EN"
> > > > > > > > "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
> > > > > > > >
> > > > > > > > <faces-config>
> > > > > > > >
> > > > > > > > <application>
> > > > > > > > <variable-resolver>
> > > > > > > > org.springframework.web.jsf.DelegatingVariableResolver
> > > > > > > > </variable-resolver>
> > > > > > > > <locale-config>
> > > > > > > > <default-locale>de_DE</default-locale>
> > > > > > > > <supported-locale>de</supported-locale>
> > > > > > > > <supported-locale>en</supported-locale>
> > > > > > > > </locale-config>
> > > > > > > > <default-render-kit-id>
> > > > > > > > org.apache.myfaces.trinidad.core
> > > > > > > > </default-render-kit-id>
> > > > > > > > </application>
> > > > > > > >
> > > > > > > > <component>
> > > > > > > >
> > > > > > > > <component-type>net.sf.jsfcomp.acegijsf.Authorize
> > > </component-type>
> > > > > > > >
> > > > > > > > <component-class>net.sf.jsfcomp.acegijsf.Authorize
> > > </component-class>
> > > > > > > > </component>
> > > > > > > >
> > > > > > > > <component>
> > > > > > > >
> > > > > > > > <component-type>net.sf.jsfcomp.acegijsf.Authentication
> > > > > </component-type>
> > > > > > > >
> > > > > > > > <component-class>net.sf.jsfcomp.acegijsf.Authentication
> > > > > </component-class>
> > > > > > > > </component>
> > > > > > > >
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/*</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>logout</from-outcome>
> > > > > > > > <to-view-id>/j_acegi_logout.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/opiz/*</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>home</from-outcome>
> > > > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>register</from-outcome>
> > > > > > > > <to-view-id>/opiz/register.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>login</from-outcome>
> > > > > > > > <to-view-id>/opiz/login.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>showOrder</from-outcome>
> > > > > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>showCustomer</from-outcome>
> > > > > > > > <to-view-id>/opiz/showCustomer.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>editCustomer</from-outcome>
> > > > > > > > <to-view-id>/opiz/editCustomer.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>orderHistory</from-outcome>
> > > > > > > > <to-view-id>/opiz/showOrderHistory.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/opiz/login.jsp</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>login</from-outcome>
> > > > > > > > <to-view-id>/j_acegi_security_check.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/opiz/register.jsp</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>register</from-outcome>
> > > > > > > > <to-view-id>/opiz/showRegistration.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/opiz/choosePizza.xhtml</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>add</from-outcome>
> > > > > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>customize</from-outcome>
> > > > > > > > <to-view-id>/opiz/topPizza.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/opiz/topPizza.jsp</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>add</from-outcome>
> > > > > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/opiz/showOrder.jsp</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>order</from-outcome>
> > > > > > > > <to-view-id>/opiz/order.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>continue</from-outcome>
> > > > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/opiz/order.jsp</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>deliver</from-outcome>
> > > > > > > > <to-view-id>/opiz/deliver.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/opiz/showOrderHistory.jsp</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > > <navigation-rule>
> > > > > > > > <from-view-id>/opiz/editCustomer.jsp</from-view-id>
> > > > > > > > <navigation-case>
> > > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > > > </navigation-case>
> > > > > > > > </navigation-rule>
> > > > > > > >
> > > > > > > > <converter>
> > > > > > > > <converter-id>pizzaConverter</converter-id>
> > > > > > > > <converter-class>
> > > > > > > > de.hanser.buch.opiz.web.jsf.PizzaConverter
> > > > > > > > </converter-class>
> > > > > > > > </converter>
> > > > > > > > <converter>
> > > > > > > > <converter-for-class>
> > > > > > > > de.hanser.buch.opiz.domain.Topping
> > > > > > > > </converter-for-class>
> > > > > > > > <converter-class>
> > > > > > > > de.hanser.buch.opiz.web.jsf.ToppingConverter
> > > > > > > > </converter-class>
> > > > > > > > </converter>
> > > > > > > >
> > > > > > > > </faces-config>
> > > > > > > >
> > > > > > > > << END faces-config.xml >>
> > > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Matthias Wessendorf
> > > > > http://tinyurl.com/fmywh
> > > > >
> > > > > further stuff:
> > > > > blog: http://jroller.com/page/mwessendorf
> > > > > mail: mwessendorf-at-gmail-dot-com
> > > > >
> > >
>
--
Matthias Wessendorf
http://tinyurl.com/fmywh
further stuff:
blog: http://jroller.com/page/mwessendorf
mail: mwessendorf-at-gmail-dot-com
Re: Trinidad, Facelets and Acegi
Posted by Kuno Baeriswyl <ku...@bkw-fmb.ch>.
Yeah, it works!
I had to add tomahawk-1.1.5-SNAPSHOT.jar and
tomahawk-sandbox-1.1.5-SNAPSHOT.jar to my classpath and configured
acegi's SecurityContextHolderAwareRequestFilter as you proposed.
Thanks a lot!
Kuno
On Thu, 2007-03-22 at 17:42 +0200, Cagatay Civici wrote:
> Hello Kuno,
>
> org.acegisecurity.context.SecurityContextImpl has nothing to do with the
> org.apache.myfaces.SECURITY_CONTEXT, just similar names.
>
> The easiest way to use myfaces SecurityContext with Acegi basically you need
> two things;
>
> * Latest MyFaces Sandbox
> * Configuration of acegi's SecurityContextHolderAwareRequestFilter. Just add
> this one to your filter list.
> * Do not configure the context-param org.apache.myfaces.SECURITY_CONTEXT, so
> that default impl will be picked up.
>
> Hope this helps,
>
> Regards,
>
> Cagatay
>
> On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> >
> > Hi,
> >
> > ok, I agree with you. I didn't know this option.
> >
> > I've added folowing context param to my web.xml
> > <context-param>
> > <param-name>org.apache.myfaces.SECURITY_CONTEXT</param-name>
> >
> > <param-value>org.acegisecurity.context.SecurityContextImpl</param-value>
> > </context-param>
> >
> > I've found the org.acegisecurity.context.SecurityContextImpl class by
> > accident in the acegi library.
> >
> > But, I don't get any securityContext parameter in my facelet:
> > <tr:commandNavigationItem text="Warenkorb" action="showOrder"
> > rendered="#{securityContext.ifNotGranted['ROLE_ADMIN']}"/>
> >
> > The component is never rendered!
> >
> > Do I need to configure anything else?
> >
> > Many Thanks in advance!
> >
> > Kuno
> >
> > On Thu, 2007-03-22 at 14:45 +0200, Cagatay Civici wrote:
> > > Hi,
> > >
> > > I agree with Matthias and strongly suggest to use the securitycontext el
> > > extension, it'll be much simpler.
> > >
> > > Regards,
> > >
> > > Cagatay
> > >
> > > On 3/22/07, Matthias Wessendorf <ma...@apache.org> wrote:
> > > >
> > > > Hey Kuno,
> > > >
> > > > the issue is, that the component expects a <tr:commandNavigationItem>
> > > > component.
> > > > The point is, you wrap it by using <acegijsf:authorize>.
> > > >
> > > > It would be good, if you could *nest* the <acegijsf:authorize> inside
> > > > other components.
> > > >
> > > > <tr:commandNavigationItem>
> > > > <acegijsf:authorize />
> > > > </tr:commandNavigationItem>
> > > >
> > > > See see blog discussion, that using tabs might be not the best way of
> > > > doing this security stuff.
> > > >
> > > > There is also something like:
> > > > http://wiki.apache.org/myfaces/SecurityContext
> > > > in myfaces, for using EL based sec. checks.
> > > >
> > > > -M
> > > > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > > > > Hi Cafatay!
> > > > >
> > > > > Thanks for your hint! I've found an example application
> > > > >
> > > >
> > http://www.nabble.com/Appfuse-+-facelets-+-other-goodies-t1019957s2369.htmlandadded the facelets JSP taglib mapping to my
> > > > web.xml
> > > > >
> > > > > <context-param>
> > > > > <param-name>facelets.LIBRARIES</param-name>
> > > > >
> > <param-value>/WEB-INF/acegijsf.taglib.xml</param-value>
> > > > > </context-param>
> > > > >
> > > > > But, I still get an error:
> > > > >
> > > > > 22.03.2007 09:41:53
> > > > >
> > > >
> > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > expected
> > > > > UIXCommand but found another type of component instead.
> > > > > java.lang.ClassCastException: net.sf.jsfcomp.acegijsf.Authorize
> > > > >
> > > > > Do you have any idea?
> > > > >
> > > > > Kuno
> > > > >
> > > > > On Thu, 2007-03-22 at 10:04 +0200, Cagatay Civici wrote:
> > > > > > Hi,
> > > > > >
> > > > > > Have you defined the acegijsf components in your facelets-taglib
> > > > config?
> > > > > >
> > > > > > Cagatay
> > > > > >
> > > > > > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > > > > > >
> > > > > > > Hello everybody,
> > > > > > >
> > > > > > > I like to put trinidad, facelets and acegi together. The
> > appserver
> > > > > > > compiles the HTML page, but complains about an unvalid type:
> > > > > > >
> > > > > > > 22.03.2007 08:35:21 com.sun.facelets.tag.jsf.ComponentRulewarnAttr
> > > > > > > WARNUNG: /layout.xhtml @7,42
> > > > > > > xmlns:authz="http://acegisecurity.org/authz" Property 'authz' is
> > not
> > > > on
> > > > > > > type: org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > > > > 22.03.2007 08:35:23
> > > > > > >
> > > > > > >
> > > >
> > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > > > expected
> > > > > > > UIXCommand but found another type of component instead.
> > > > > > > java.lang.ClassCastException:
> > > > com.sun.facelets.compiler.UILiteralText
> > > > > > >
> > > > > > > I've found an promising acegi-jsf component to solve that
> > problem :
> > > > > > >
> > > > > > >
> > > >
> > http://www.jroller.com/page/cagataycivici?entry=acegi_jsf_components_hit_the
> > > > > > >
> > > > > > > But, I still get the same error:
> > > > > > >
> > > > > > > 22.03.2007 08:52:35 com.sun.facelets.tag.jsf.ComponentRulewarnAttr
> > > > > > > WARNUNG: /layout.xhtml @7,42
> > > > > > > xmlns:acegijsf="
> > http://sourceforge.net/projects/jsf-comp/acegijsf"
> > > > > > > Property 'acegijsf' is not on type:
> > > > > > > org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > > > > 22.03.2007 08:52:41
> > > > > > >
> > > > > > >
> > > >
> > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > > > expected
> > > > > > > UIXCommand but found another type of component instead.
> > > > > > > java.lang.ClassCastException:
> > > > com.sun.facelets.compiler.UILiteralText
> > > > > > >
> > > > > > > I think I still get the same error. Can any body help me?
> > > > > > >
> > > > > > > Here is my facelet and faces-config.xml:
> > > > > > >
> > > > > > > << START template.xhtml >>
> > > > > > > <tr:document
> > > > > > > xmlns:ui="http://java.sun.com/jsf/facelets"
> > > > > > > xmlns:h="http://java.sun.com/jsf/html"
> > > > > > > xmlns:f="http://java.sun.com/jsf/core"
> > > > > > > xmlns:tr="http://myfaces.apache.org/trinidad"
> > > > > > > xmlns:acegijsf="
> > http://sourceforge.net/projects/jsf-comp/acegijsf
> > > > "
> > > > > > > title="OPIZ - Pizza online bestellen">
> > > > > > > <tr:panelGroupLayout layout="vertical">
> > > > > > > <f:facet name="separator">
> > > > > > > <tr:separator/>
> > > > > > > </f:facet>
> > > > > > > <tr:commandLink immediate="true" text="Home"
> > > > > > > action="home"/>
> > > > > > > <tr:outputFormatted styleUsage="instruction"
> > > > > > > value="BKW Intranet"/>
> > > > > > > <tr:panelPage >
> > > > > > > <f:facet name="navigation1">
> > > > > > > <tr:form>
> > > > > > > <tr:navigationPane hint="tabs" shortDesc="Wähle
> > Tab">
> > > > > > > <tr:commandNavigationItem text="home"
> > > > action="home"/>
> > > > > > > <acegijsf:authorize
> > > > > > > ifNotGranted="ROLE_ADMIN">
> > > > > > >
> > <tr:commandNavigationItem
> > > > > > > text="Warenkorb" action="showOrder"/>
> > > > > > > </acegijsf:authorize>
> > > > > > > <acegijsf:authorize
> > > > > > > ifNotGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > > > >
> > <tr:commandNavigationItem
> > > > > > > text="Registrieren" action="register"/>
> > > > > > >
> > <tr:commandNavigationItem
> > > > > > > text="Anmelden"
> > > > > > > action="login"/>
> > > > > > > </acegijsf:authorize>
> > > > > > > <acegijsf:authorize
> > > > > > > ifAnyGranted="ROLE_ADMIN">
> > > > > > >
> > <tr:commandNavigationItem
> > > > > > > text="Kundenliste"
> > > > > > > action="showCustomer"/>
> > > > > > > </acegijsf:authorize>
> > > > > > > <acegijsf:authorize
> > > > > > > ifAnyGranted="ROLE_CUSTOMER">
> > > > > > >
> > <tr:commandNavigationItem
> > > > > > > text="Meine Daten"
> > > > > > > action="#{customerAction.editCustomer}"/>
> > > > > > >
> > <tr:commandNavigationItem
> > > > > > > text="Meine Bestellungen"
> > > > > > > action="orderHistory"/>
> > > > > > > </acegijsf:authorize>
> > > > > > > <acegijsf:authorize
> > > > > > > ifAnyGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > > > >
> > <tr:commandNavigationItem
> > > > > > > text="Abmelden"
> > > > > > > action="logout"/>
> > > > > >
> > > <acegijsf:authentication
> > > > > > > operation="username"/>
> > > > > > > </acegijsf:authorize>
> > > > > > > </tr:navigationPane>
> > > > > > > </tr:form>
> > > > > > > </f:facet>
> > > > > > > <f:facet name="navigationGlobal">
> > > > > > > <tr:navigationPane hint="buttons">
> > > > > > > <tr:commandNavigationItem text="help"
> > > > > > >
> > icon="/images/globalhelp.gif"
> > > > > > > action="guide.navigationPane
> > "/>
> > > > > > > <tr:commandNavigationItem text="help more"
> > > > > > >
> > icon="/images/globalhelp.gif"
> > > > > > > action="guide.navigationPane
> > "/>
> > > > > > > <tr:commandNavigationItem text="Disabled"
> > > > > > >
> > icon="/images/globalhelp.gif"
> > > > > > > action="guide.navigationPane
> > "
> > > > > > > disabled="true"/>
> > > > > > > <tr:commandNavigationItem text="Disabled"
> > > > > > >
> > icon="/images/globalhelp.gif"
> > > > > > > action="guide.navigationPane
> > "
> > > > > > > disabled="true"/>
> > > > > > > </tr:navigationPane>
> > > > > > > </f:facet>
> > > > > > > <f:facet name="branding">
> > > > > > > <tr:outputFormatted value="OPIZ - Pizza online
> > > > > > > bestellen"
> > > > > >
> > > styleUsage="inContextBranding"/>
> > > > > > > </f:facet>
> > > > > > > <f:facet name="appCopyright">
> > > > > > > <tr:outputText value="copyright by BKW Energie
> > AG
> > > > > > > 2007"/>
> > > > > > > </f:facet>
> > > > > > > <f:facet name="appPrivacy">
> > > > > > > <tr:commandLink text="privacy" action="
> > action.none"
> > > > />
> > > > > > > </f:facet>
> > > > > > > <f:facet name="appAbout">
> > > > > > > <tr:commandLink text="about" action="action.none"
> > />
> > > > > > > </f:facet>
> > > > > > >
> > > > > > > <ui:insert name="content">
> > > > > > > <ui:include src=""/>
> > > > > > > </ui:insert>
> > > > > > > </tr:panelPage>
> > > > > > > </tr:panelGroupLayout>
> > > > > > > </tr:document>
> > > > > > >
> > > > > > > << END template.xhtml >>
> > > > > > >
> > > > > > > << START faces-config.xml >>
> > > > > > > <?xml version="1.0"?>
> > > > > > >
> > > > > > > <!DOCTYPE faces-config PUBLIC
> > > > > > > "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0
> > //EN"
> > > > > > > "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
> > > > > > >
> > > > > > > <faces-config>
> > > > > > >
> > > > > > > <application>
> > > > > > > <variable-resolver>
> > > > > > > org.springframework.web.jsf.DelegatingVariableResolver
> > > > > > > </variable-resolver>
> > > > > > > <locale-config>
> > > > > > > <default-locale>de_DE</default-locale>
> > > > > > > <supported-locale>de</supported-locale>
> > > > > > > <supported-locale>en</supported-locale>
> > > > > > > </locale-config>
> > > > > > > <default-render-kit-id>
> > > > > > > org.apache.myfaces.trinidad.core
> > > > > > > </default-render-kit-id>
> > > > > > > </application>
> > > > > > >
> > > > > > > <component>
> > > > > > >
> > > > > > > <component-type>net.sf.jsfcomp.acegijsf.Authorize
> > </component-type>
> > > > > > >
> > > > > > > <component-class>net.sf.jsfcomp.acegijsf.Authorize
> > </component-class>
> > > > > > > </component>
> > > > > > >
> > > > > > > <component>
> > > > > > >
> > > > > > > <component-type>net.sf.jsfcomp.acegijsf.Authentication
> > > > </component-type>
> > > > > > >
> > > > > > > <component-class>net.sf.jsfcomp.acegijsf.Authentication
> > > > </component-class>
> > > > > > > </component>
> > > > > > >
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/*</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>logout</from-outcome>
> > > > > > > <to-view-id>/j_acegi_logout.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/opiz/*</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>home</from-outcome>
> > > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>register</from-outcome>
> > > > > > > <to-view-id>/opiz/register.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>login</from-outcome>
> > > > > > > <to-view-id>/opiz/login.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>showOrder</from-outcome>
> > > > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>showCustomer</from-outcome>
> > > > > > > <to-view-id>/opiz/showCustomer.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>editCustomer</from-outcome>
> > > > > > > <to-view-id>/opiz/editCustomer.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>orderHistory</from-outcome>
> > > > > > > <to-view-id>/opiz/showOrderHistory.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/opiz/login.jsp</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>login</from-outcome>
> > > > > > > <to-view-id>/j_acegi_security_check.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/opiz/register.jsp</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>register</from-outcome>
> > > > > > > <to-view-id>/opiz/showRegistration.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/opiz/choosePizza.xhtml</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>add</from-outcome>
> > > > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>customize</from-outcome>
> > > > > > > <to-view-id>/opiz/topPizza.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/opiz/topPizza.jsp</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>add</from-outcome>
> > > > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/opiz/showOrder.jsp</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>order</from-outcome>
> > > > > > > <to-view-id>/opiz/order.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>continue</from-outcome>
> > > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/opiz/order.jsp</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>deliver</from-outcome>
> > > > > > > <to-view-id>/opiz/deliver.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/opiz/showOrderHistory.jsp</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > > <navigation-rule>
> > > > > > > <from-view-id>/opiz/editCustomer.jsp</from-view-id>
> > > > > > > <navigation-case>
> > > > > > > <from-outcome>cancel</from-outcome>
> > > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > > </navigation-case>
> > > > > > > </navigation-rule>
> > > > > > >
> > > > > > > <converter>
> > > > > > > <converter-id>pizzaConverter</converter-id>
> > > > > > > <converter-class>
> > > > > > > de.hanser.buch.opiz.web.jsf.PizzaConverter
> > > > > > > </converter-class>
> > > > > > > </converter>
> > > > > > > <converter>
> > > > > > > <converter-for-class>
> > > > > > > de.hanser.buch.opiz.domain.Topping
> > > > > > > </converter-for-class>
> > > > > > > <converter-class>
> > > > > > > de.hanser.buch.opiz.web.jsf.ToppingConverter
> > > > > > > </converter-class>
> > > > > > > </converter>
> > > > > > >
> > > > > > > </faces-config>
> > > > > > >
> > > > > > > << END faces-config.xml >>
> > > > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Matthias Wessendorf
> > > > http://tinyurl.com/fmywh
> > > >
> > > > further stuff:
> > > > blog: http://jroller.com/page/mwessendorf
> > > > mail: mwessendorf-at-gmail-dot-com
> > > >
> >
Re: Trinidad, Facelets and Acegi
Posted by Cagatay Civici <ca...@gmail.com>.
Hello Kuno,
org.acegisecurity.context.SecurityContextImpl has nothing to do with the
org.apache.myfaces.SECURITY_CONTEXT, just similar names.
The easiest way to use myfaces SecurityContext with Acegi basically you need
two things;
* Latest MyFaces Sandbox
* Configuration of acegi's SecurityContextHolderAwareRequestFilter. Just add
this one to your filter list.
* Do not configure the context-param org.apache.myfaces.SECURITY_CONTEXT, so
that default impl will be picked up.
Hope this helps,
Regards,
Cagatay
On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
>
> Hi,
>
> ok, I agree with you. I didn't know this option.
>
> I've added folowing context param to my web.xml
> <context-param>
> <param-name>org.apache.myfaces.SECURITY_CONTEXT</param-name>
>
> <param-value>org.acegisecurity.context.SecurityContextImpl</param-value>
> </context-param>
>
> I've found the org.acegisecurity.context.SecurityContextImpl class by
> accident in the acegi library.
>
> But, I don't get any securityContext parameter in my facelet:
> <tr:commandNavigationItem text="Warenkorb" action="showOrder"
> rendered="#{securityContext.ifNotGranted['ROLE_ADMIN']}"/>
>
> The component is never rendered!
>
> Do I need to configure anything else?
>
> Many Thanks in advance!
>
> Kuno
>
> On Thu, 2007-03-22 at 14:45 +0200, Cagatay Civici wrote:
> > Hi,
> >
> > I agree with Matthias and strongly suggest to use the securitycontext el
> > extension, it'll be much simpler.
> >
> > Regards,
> >
> > Cagatay
> >
> > On 3/22/07, Matthias Wessendorf <ma...@apache.org> wrote:
> > >
> > > Hey Kuno,
> > >
> > > the issue is, that the component expects a <tr:commandNavigationItem>
> > > component.
> > > The point is, you wrap it by using <acegijsf:authorize>.
> > >
> > > It would be good, if you could *nest* the <acegijsf:authorize> inside
> > > other components.
> > >
> > > <tr:commandNavigationItem>
> > > <acegijsf:authorize />
> > > </tr:commandNavigationItem>
> > >
> > > See see blog discussion, that using tabs might be not the best way of
> > > doing this security stuff.
> > >
> > > There is also something like:
> > > http://wiki.apache.org/myfaces/SecurityContext
> > > in myfaces, for using EL based sec. checks.
> > >
> > > -M
> > > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > > > Hi Cafatay!
> > > >
> > > > Thanks for your hint! I've found an example application
> > > >
> > >
> http://www.nabble.com/Appfuse-+-facelets-+-other-goodies-t1019957s2369.htmlandadded the facelets JSP taglib mapping to my
> > > web.xml
> > > >
> > > > <context-param>
> > > > <param-name>facelets.LIBRARIES</param-name>
> > > >
> <param-value>/WEB-INF/acegijsf.taglib.xml</param-value>
> > > > </context-param>
> > > >
> > > > But, I still get an error:
> > > >
> > > > 22.03.2007 09:41:53
> > > >
> > >
> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> expected
> > > > UIXCommand but found another type of component instead.
> > > > java.lang.ClassCastException: net.sf.jsfcomp.acegijsf.Authorize
> > > >
> > > > Do you have any idea?
> > > >
> > > > Kuno
> > > >
> > > > On Thu, 2007-03-22 at 10:04 +0200, Cagatay Civici wrote:
> > > > > Hi,
> > > > >
> > > > > Have you defined the acegijsf components in your facelets-taglib
> > > config?
> > > > >
> > > > > Cagatay
> > > > >
> > > > > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > > > > >
> > > > > > Hello everybody,
> > > > > >
> > > > > > I like to put trinidad, facelets and acegi together. The
> appserver
> > > > > > compiles the HTML page, but complains about an unvalid type:
> > > > > >
> > > > > > 22.03.2007 08:35:21 com.sun.facelets.tag.jsf.ComponentRulewarnAttr
> > > > > > WARNUNG: /layout.xhtml @7,42
> > > > > > xmlns:authz="http://acegisecurity.org/authz" Property 'authz' is
> not
> > > on
> > > > > > type: org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > > > 22.03.2007 08:35:23
> > > > > >
> > > > > >
> > >
> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > > expected
> > > > > > UIXCommand but found another type of component instead.
> > > > > > java.lang.ClassCastException:
> > > com.sun.facelets.compiler.UILiteralText
> > > > > >
> > > > > > I've found an promising acegi-jsf component to solve that
> problem :
> > > > > >
> > > > > >
> > >
> http://www.jroller.com/page/cagataycivici?entry=acegi_jsf_components_hit_the
> > > > > >
> > > > > > But, I still get the same error:
> > > > > >
> > > > > > 22.03.2007 08:52:35 com.sun.facelets.tag.jsf.ComponentRulewarnAttr
> > > > > > WARNUNG: /layout.xhtml @7,42
> > > > > > xmlns:acegijsf="
> http://sourceforge.net/projects/jsf-comp/acegijsf"
> > > > > > Property 'acegijsf' is not on type:
> > > > > > org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > > > 22.03.2007 08:52:41
> > > > > >
> > > > > >
> > >
> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > > expected
> > > > > > UIXCommand but found another type of component instead.
> > > > > > java.lang.ClassCastException:
> > > com.sun.facelets.compiler.UILiteralText
> > > > > >
> > > > > > I think I still get the same error. Can any body help me?
> > > > > >
> > > > > > Here is my facelet and faces-config.xml:
> > > > > >
> > > > > > << START template.xhtml >>
> > > > > > <tr:document
> > > > > > xmlns:ui="http://java.sun.com/jsf/facelets"
> > > > > > xmlns:h="http://java.sun.com/jsf/html"
> > > > > > xmlns:f="http://java.sun.com/jsf/core"
> > > > > > xmlns:tr="http://myfaces.apache.org/trinidad"
> > > > > > xmlns:acegijsf="
> http://sourceforge.net/projects/jsf-comp/acegijsf
> > > "
> > > > > > title="OPIZ - Pizza online bestellen">
> > > > > > <tr:panelGroupLayout layout="vertical">
> > > > > > <f:facet name="separator">
> > > > > > <tr:separator/>
> > > > > > </f:facet>
> > > > > > <tr:commandLink immediate="true" text="Home"
> > > > > > action="home"/>
> > > > > > <tr:outputFormatted styleUsage="instruction"
> > > > > > value="BKW Intranet"/>
> > > > > > <tr:panelPage >
> > > > > > <f:facet name="navigation1">
> > > > > > <tr:form>
> > > > > > <tr:navigationPane hint="tabs" shortDesc="Wähle
> Tab">
> > > > > > <tr:commandNavigationItem text="home"
> > > action="home"/>
> > > > > > <acegijsf:authorize
> > > > > > ifNotGranted="ROLE_ADMIN">
> > > > > >
> <tr:commandNavigationItem
> > > > > > text="Warenkorb" action="showOrder"/>
> > > > > > </acegijsf:authorize>
> > > > > > <acegijsf:authorize
> > > > > > ifNotGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > > >
> <tr:commandNavigationItem
> > > > > > text="Registrieren" action="register"/>
> > > > > >
> <tr:commandNavigationItem
> > > > > > text="Anmelden"
> > > > > > action="login"/>
> > > > > > </acegijsf:authorize>
> > > > > > <acegijsf:authorize
> > > > > > ifAnyGranted="ROLE_ADMIN">
> > > > > >
> <tr:commandNavigationItem
> > > > > > text="Kundenliste"
> > > > > > action="showCustomer"/>
> > > > > > </acegijsf:authorize>
> > > > > > <acegijsf:authorize
> > > > > > ifAnyGranted="ROLE_CUSTOMER">
> > > > > >
> <tr:commandNavigationItem
> > > > > > text="Meine Daten"
> > > > > > action="#{customerAction.editCustomer}"/>
> > > > > >
> <tr:commandNavigationItem
> > > > > > text="Meine Bestellungen"
> > > > > > action="orderHistory"/>
> > > > > > </acegijsf:authorize>
> > > > > > <acegijsf:authorize
> > > > > > ifAnyGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > > >
> <tr:commandNavigationItem
> > > > > > text="Abmelden"
> > > > > > action="logout"/>
> > > > >
> > <acegijsf:authentication
> > > > > > operation="username"/>
> > > > > > </acegijsf:authorize>
> > > > > > </tr:navigationPane>
> > > > > > </tr:form>
> > > > > > </f:facet>
> > > > > > <f:facet name="navigationGlobal">
> > > > > > <tr:navigationPane hint="buttons">
> > > > > > <tr:commandNavigationItem text="help"
> > > > > >
> icon="/images/globalhelp.gif"
> > > > > > action="guide.navigationPane
> "/>
> > > > > > <tr:commandNavigationItem text="help more"
> > > > > >
> icon="/images/globalhelp.gif"
> > > > > > action="guide.navigationPane
> "/>
> > > > > > <tr:commandNavigationItem text="Disabled"
> > > > > >
> icon="/images/globalhelp.gif"
> > > > > > action="guide.navigationPane
> "
> > > > > > disabled="true"/>
> > > > > > <tr:commandNavigationItem text="Disabled"
> > > > > >
> icon="/images/globalhelp.gif"
> > > > > > action="guide.navigationPane
> "
> > > > > > disabled="true"/>
> > > > > > </tr:navigationPane>
> > > > > > </f:facet>
> > > > > > <f:facet name="branding">
> > > > > > <tr:outputFormatted value="OPIZ - Pizza online
> > > > > > bestellen"
> > > > >
> > styleUsage="inContextBranding"/>
> > > > > > </f:facet>
> > > > > > <f:facet name="appCopyright">
> > > > > > <tr:outputText value="copyright by BKW Energie
> AG
> > > > > > 2007"/>
> > > > > > </f:facet>
> > > > > > <f:facet name="appPrivacy">
> > > > > > <tr:commandLink text="privacy" action="
> action.none"
> > > />
> > > > > > </f:facet>
> > > > > > <f:facet name="appAbout">
> > > > > > <tr:commandLink text="about" action="action.none"
> />
> > > > > > </f:facet>
> > > > > >
> > > > > > <ui:insert name="content">
> > > > > > <ui:include src=""/>
> > > > > > </ui:insert>
> > > > > > </tr:panelPage>
> > > > > > </tr:panelGroupLayout>
> > > > > > </tr:document>
> > > > > >
> > > > > > << END template.xhtml >>
> > > > > >
> > > > > > << START faces-config.xml >>
> > > > > > <?xml version="1.0"?>
> > > > > >
> > > > > > <!DOCTYPE faces-config PUBLIC
> > > > > > "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0
> //EN"
> > > > > > "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
> > > > > >
> > > > > > <faces-config>
> > > > > >
> > > > > > <application>
> > > > > > <variable-resolver>
> > > > > > org.springframework.web.jsf.DelegatingVariableResolver
> > > > > > </variable-resolver>
> > > > > > <locale-config>
> > > > > > <default-locale>de_DE</default-locale>
> > > > > > <supported-locale>de</supported-locale>
> > > > > > <supported-locale>en</supported-locale>
> > > > > > </locale-config>
> > > > > > <default-render-kit-id>
> > > > > > org.apache.myfaces.trinidad.core
> > > > > > </default-render-kit-id>
> > > > > > </application>
> > > > > >
> > > > > > <component>
> > > > > >
> > > > > > <component-type>net.sf.jsfcomp.acegijsf.Authorize
> </component-type>
> > > > > >
> > > > > > <component-class>net.sf.jsfcomp.acegijsf.Authorize
> </component-class>
> > > > > > </component>
> > > > > >
> > > > > > <component>
> > > > > >
> > > > > > <component-type>net.sf.jsfcomp.acegijsf.Authentication
> > > </component-type>
> > > > > >
> > > > > > <component-class>net.sf.jsfcomp.acegijsf.Authentication
> > > </component-class>
> > > > > > </component>
> > > > > >
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/*</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>logout</from-outcome>
> > > > > > <to-view-id>/j_acegi_logout.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/opiz/*</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>home</from-outcome>
> > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>register</from-outcome>
> > > > > > <to-view-id>/opiz/register.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>login</from-outcome>
> > > > > > <to-view-id>/opiz/login.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>showOrder</from-outcome>
> > > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>showCustomer</from-outcome>
> > > > > > <to-view-id>/opiz/showCustomer.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>editCustomer</from-outcome>
> > > > > > <to-view-id>/opiz/editCustomer.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>orderHistory</from-outcome>
> > > > > > <to-view-id>/opiz/showOrderHistory.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/opiz/login.jsp</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>login</from-outcome>
> > > > > > <to-view-id>/j_acegi_security_check.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/opiz/register.jsp</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>register</from-outcome>
> > > > > > <to-view-id>/opiz/showRegistration.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>cancel</from-outcome>
> > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/opiz/choosePizza.xhtml</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>add</from-outcome>
> > > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>customize</from-outcome>
> > > > > > <to-view-id>/opiz/topPizza.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>cancel</from-outcome>
> > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/opiz/topPizza.jsp</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>add</from-outcome>
> > > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>cancel</from-outcome>
> > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/opiz/showOrder.jsp</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>order</from-outcome>
> > > > > > <to-view-id>/opiz/order.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>cancel</from-outcome>
> > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>continue</from-outcome>
> > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/opiz/order.jsp</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>deliver</from-outcome>
> > > > > > <to-view-id>/opiz/deliver.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > <navigation-case>
> > > > > > <from-outcome>cancel</from-outcome>
> > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/opiz/showOrderHistory.jsp</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>cancel</from-outcome>
> > > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > > <navigation-rule>
> > > > > > <from-view-id>/opiz/editCustomer.jsp</from-view-id>
> > > > > > <navigation-case>
> > > > > > <from-outcome>cancel</from-outcome>
> > > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > > </navigation-case>
> > > > > > </navigation-rule>
> > > > > >
> > > > > > <converter>
> > > > > > <converter-id>pizzaConverter</converter-id>
> > > > > > <converter-class>
> > > > > > de.hanser.buch.opiz.web.jsf.PizzaConverter
> > > > > > </converter-class>
> > > > > > </converter>
> > > > > > <converter>
> > > > > > <converter-for-class>
> > > > > > de.hanser.buch.opiz.domain.Topping
> > > > > > </converter-for-class>
> > > > > > <converter-class>
> > > > > > de.hanser.buch.opiz.web.jsf.ToppingConverter
> > > > > > </converter-class>
> > > > > > </converter>
> > > > > >
> > > > > > </faces-config>
> > > > > >
> > > > > > << END faces-config.xml >>
> > > > > >
> > > >
> > >
> > >
> > > --
> > > Matthias Wessendorf
> > > http://tinyurl.com/fmywh
> > >
> > > further stuff:
> > > blog: http://jroller.com/page/mwessendorf
> > > mail: mwessendorf-at-gmail-dot-com
> > >
>
Re: Trinidad, Facelets and Acegi
Posted by Kuno Baeriswyl <ku...@bkw-fmb.ch>.
Hi,
ok, I agree with you. I didn't know this option.
I've added folowing context param to my web.xml
<context-param>
<param-name>org.apache.myfaces.SECURITY_CONTEXT</param-name>
<param-value>org.acegisecurity.context.SecurityContextImpl</param-value>
</context-param>
I've found the org.acegisecurity.context.SecurityContextImpl class by
accident in the acegi library.
But, I don't get any securityContext parameter in my facelet:
<tr:commandNavigationItem text="Warenkorb" action="showOrder"
rendered="#{securityContext.ifNotGranted['ROLE_ADMIN']}"/>
The component is never rendered!
Do I need to configure anything else?
Many Thanks in advance!
Kuno
On Thu, 2007-03-22 at 14:45 +0200, Cagatay Civici wrote:
> Hi,
>
> I agree with Matthias and strongly suggest to use the securitycontext el
> extension, it'll be much simpler.
>
> Regards,
>
> Cagatay
>
> On 3/22/07, Matthias Wessendorf <ma...@apache.org> wrote:
> >
> > Hey Kuno,
> >
> > the issue is, that the component expects a <tr:commandNavigationItem>
> > component.
> > The point is, you wrap it by using <acegijsf:authorize>.
> >
> > It would be good, if you could *nest* the <acegijsf:authorize> inside
> > other components.
> >
> > <tr:commandNavigationItem>
> > <acegijsf:authorize />
> > </tr:commandNavigationItem>
> >
> > See see blog discussion, that using tabs might be not the best way of
> > doing this security stuff.
> >
> > There is also something like:
> > http://wiki.apache.org/myfaces/SecurityContext
> > in myfaces, for using EL based sec. checks.
> >
> > -M
> > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > > Hi Cafatay!
> > >
> > > Thanks for your hint! I've found an example application
> > >
> > http://www.nabble.com/Appfuse-+-facelets-+-other-goodies-t1019957s2369.htmland added the facelets JSP taglib mapping to my
> > web.xml
> > >
> > > <context-param>
> > > <param-name>facelets.LIBRARIES</param-name>
> > > <param-value>/WEB-INF/acegijsf.taglib.xml</param-value>
> > > </context-param>
> > >
> > > But, I still get an error:
> > >
> > > 22.03.2007 09:41:53
> > >
> > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
> > > UIXCommand but found another type of component instead.
> > > java.lang.ClassCastException: net.sf.jsfcomp.acegijsf.Authorize
> > >
> > > Do you have any idea?
> > >
> > > Kuno
> > >
> > > On Thu, 2007-03-22 at 10:04 +0200, Cagatay Civici wrote:
> > > > Hi,
> > > >
> > > > Have you defined the acegijsf components in your facelets-taglib
> > config?
> > > >
> > > > Cagatay
> > > >
> > > > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > > > >
> > > > > Hello everybody,
> > > > >
> > > > > I like to put trinidad, facelets and acegi together. The appserver
> > > > > compiles the HTML page, but complains about an unvalid type:
> > > > >
> > > > > 22.03.2007 08:35:21 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> > > > > WARNUNG: /layout.xhtml @7,42
> > > > > xmlns:authz="http://acegisecurity.org/authz" Property 'authz' is not
> > on
> > > > > type: org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > > 22.03.2007 08:35:23
> > > > >
> > > > >
> > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > expected
> > > > > UIXCommand but found another type of component instead.
> > > > > java.lang.ClassCastException:
> > com.sun.facelets.compiler.UILiteralText
> > > > >
> > > > > I've found an promising acegi-jsf component to solve that problem :
> > > > >
> > > > >
> > http://www.jroller.com/page/cagataycivici?entry=acegi_jsf_components_hit_the
> > > > >
> > > > > But, I still get the same error:
> > > > >
> > > > > 22.03.2007 08:52:35 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> > > > > WARNUNG: /layout.xhtml @7,42
> > > > > xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
> > > > > Property 'acegijsf' is not on type:
> > > > > org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > > 22.03.2007 08:52:41
> > > > >
> > > > >
> > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> > expected
> > > > > UIXCommand but found another type of component instead.
> > > > > java.lang.ClassCastException:
> > com.sun.facelets.compiler.UILiteralText
> > > > >
> > > > > I think I still get the same error. Can any body help me?
> > > > >
> > > > > Here is my facelet and faces-config.xml:
> > > > >
> > > > > << START template.xhtml >>
> > > > > <tr:document
> > > > > xmlns:ui="http://java.sun.com/jsf/facelets"
> > > > > xmlns:h="http://java.sun.com/jsf/html"
> > > > > xmlns:f="http://java.sun.com/jsf/core"
> > > > > xmlns:tr="http://myfaces.apache.org/trinidad"
> > > > > xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf
> > "
> > > > > title="OPIZ - Pizza online bestellen">
> > > > > <tr:panelGroupLayout layout="vertical">
> > > > > <f:facet name="separator">
> > > > > <tr:separator/>
> > > > > </f:facet>
> > > > > <tr:commandLink immediate="true" text="Home"
> > > > > action="home"/>
> > > > > <tr:outputFormatted styleUsage="instruction"
> > > > > value="BKW Intranet"/>
> > > > > <tr:panelPage >
> > > > > <f:facet name="navigation1">
> > > > > <tr:form>
> > > > > <tr:navigationPane hint="tabs" shortDesc="Wähle Tab">
> > > > > <tr:commandNavigationItem text="home"
> > action="home"/>
> > > > > <acegijsf:authorize
> > > > > ifNotGranted="ROLE_ADMIN">
> > > > > <tr:commandNavigationItem
> > > > > text="Warenkorb" action="showOrder"/>
> > > > > </acegijsf:authorize>
> > > > > <acegijsf:authorize
> > > > > ifNotGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > > <tr:commandNavigationItem
> > > > > text="Registrieren" action="register"/>
> > > > > <tr:commandNavigationItem
> > > > > text="Anmelden"
> > > > > action="login"/>
> > > > > </acegijsf:authorize>
> > > > > <acegijsf:authorize
> > > > > ifAnyGranted="ROLE_ADMIN">
> > > > > <tr:commandNavigationItem
> > > > > text="Kundenliste"
> > > > > action="showCustomer"/>
> > > > > </acegijsf:authorize>
> > > > > <acegijsf:authorize
> > > > > ifAnyGranted="ROLE_CUSTOMER">
> > > > > <tr:commandNavigationItem
> > > > > text="Meine Daten"
> > > > > action="#{customerAction.editCustomer}"/>
> > > > > <tr:commandNavigationItem
> > > > > text="Meine Bestellungen"
> > > > > action="orderHistory"/>
> > > > > </acegijsf:authorize>
> > > > > <acegijsf:authorize
> > > > > ifAnyGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > > <tr:commandNavigationItem
> > > > > text="Abmelden"
> > > > > action="logout"/>
> > > > > <acegijsf:authentication
> > > > > operation="username"/>
> > > > > </acegijsf:authorize>
> > > > > </tr:navigationPane>
> > > > > </tr:form>
> > > > > </f:facet>
> > > > > <f:facet name="navigationGlobal">
> > > > > <tr:navigationPane hint="buttons">
> > > > > <tr:commandNavigationItem text="help"
> > > > > icon="/images/globalhelp.gif"
> > > > > action="guide.navigationPane"/>
> > > > > <tr:commandNavigationItem text="help more"
> > > > > icon="/images/globalhelp.gif"
> > > > > action="guide.navigationPane"/>
> > > > > <tr:commandNavigationItem text="Disabled"
> > > > > icon="/images/globalhelp.gif"
> > > > > action="guide.navigationPane"
> > > > > disabled="true"/>
> > > > > <tr:commandNavigationItem text="Disabled"
> > > > > icon="/images/globalhelp.gif"
> > > > > action="guide.navigationPane"
> > > > > disabled="true"/>
> > > > > </tr:navigationPane>
> > > > > </f:facet>
> > > > > <f:facet name="branding">
> > > > > <tr:outputFormatted value="OPIZ - Pizza online
> > > > > bestellen"
> > > > > styleUsage="inContextBranding"/>
> > > > > </f:facet>
> > > > > <f:facet name="appCopyright">
> > > > > <tr:outputText value="copyright by BKW Energie AG
> > > > > 2007"/>
> > > > > </f:facet>
> > > > > <f:facet name="appPrivacy">
> > > > > <tr:commandLink text="privacy" action="action.none"
> > />
> > > > > </f:facet>
> > > > > <f:facet name="appAbout">
> > > > > <tr:commandLink text="about" action="action.none" />
> > > > > </f:facet>
> > > > >
> > > > > <ui:insert name="content">
> > > > > <ui:include src=""/>
> > > > > </ui:insert>
> > > > > </tr:panelPage>
> > > > > </tr:panelGroupLayout>
> > > > > </tr:document>
> > > > >
> > > > > << END template.xhtml >>
> > > > >
> > > > > << START faces-config.xml >>
> > > > > <?xml version="1.0"?>
> > > > >
> > > > > <!DOCTYPE faces-config PUBLIC
> > > > > "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
> > > > > "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
> > > > >
> > > > > <faces-config>
> > > > >
> > > > > <application>
> > > > > <variable-resolver>
> > > > > org.springframework.web.jsf.DelegatingVariableResolver
> > > > > </variable-resolver>
> > > > > <locale-config>
> > > > > <default-locale>de_DE</default-locale>
> > > > > <supported-locale>de</supported-locale>
> > > > > <supported-locale>en</supported-locale>
> > > > > </locale-config>
> > > > > <default-render-kit-id>
> > > > > org.apache.myfaces.trinidad.core
> > > > > </default-render-kit-id>
> > > > > </application>
> > > > >
> > > > > <component>
> > > > >
> > > > > <component-type>net.sf.jsfcomp.acegijsf.Authorize</component-type>
> > > > >
> > > > > <component-class>net.sf.jsfcomp.acegijsf.Authorize</component-class>
> > > > > </component>
> > > > >
> > > > > <component>
> > > > >
> > > > > <component-type>net.sf.jsfcomp.acegijsf.Authentication
> > </component-type>
> > > > >
> > > > > <component-class>net.sf.jsfcomp.acegijsf.Authentication
> > </component-class>
> > > > > </component>
> > > > >
> > > > > <navigation-rule>
> > > > > <from-view-id>/*</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>logout</from-outcome>
> > > > > <to-view-id>/j_acegi_logout.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > > <navigation-rule>
> > > > > <from-view-id>/opiz/*</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>home</from-outcome>
> > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>register</from-outcome>
> > > > > <to-view-id>/opiz/register.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>login</from-outcome>
> > > > > <to-view-id>/opiz/login.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>showOrder</from-outcome>
> > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>showCustomer</from-outcome>
> > > > > <to-view-id>/opiz/showCustomer.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>editCustomer</from-outcome>
> > > > > <to-view-id>/opiz/editCustomer.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>orderHistory</from-outcome>
> > > > > <to-view-id>/opiz/showOrderHistory.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > > <navigation-rule>
> > > > > <from-view-id>/opiz/login.jsp</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>login</from-outcome>
> > > > > <to-view-id>/j_acegi_security_check.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > > <navigation-rule>
> > > > > <from-view-id>/opiz/register.jsp</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>register</from-outcome>
> > > > > <to-view-id>/opiz/showRegistration.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>cancel</from-outcome>
> > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > > <navigation-rule>
> > > > > <from-view-id>/opiz/choosePizza.xhtml</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>add</from-outcome>
> > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>customize</from-outcome>
> > > > > <to-view-id>/opiz/topPizza.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>cancel</from-outcome>
> > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > > <navigation-rule>
> > > > > <from-view-id>/opiz/topPizza.jsp</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>add</from-outcome>
> > > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>cancel</from-outcome>
> > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > > <navigation-rule>
> > > > > <from-view-id>/opiz/showOrder.jsp</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>order</from-outcome>
> > > > > <to-view-id>/opiz/order.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>cancel</from-outcome>
> > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>continue</from-outcome>
> > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > > <navigation-rule>
> > > > > <from-view-id>/opiz/order.jsp</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>deliver</from-outcome>
> > > > > <to-view-id>/opiz/deliver.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > <navigation-case>
> > > > > <from-outcome>cancel</from-outcome>
> > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > > <navigation-rule>
> > > > > <from-view-id>/opiz/showOrderHistory.jsp</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>cancel</from-outcome>
> > > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > > <navigation-rule>
> > > > > <from-view-id>/opiz/editCustomer.jsp</from-view-id>
> > > > > <navigation-case>
> > > > > <from-outcome>cancel</from-outcome>
> > > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > > </navigation-case>
> > > > > </navigation-rule>
> > > > >
> > > > > <converter>
> > > > > <converter-id>pizzaConverter</converter-id>
> > > > > <converter-class>
> > > > > de.hanser.buch.opiz.web.jsf.PizzaConverter
> > > > > </converter-class>
> > > > > </converter>
> > > > > <converter>
> > > > > <converter-for-class>
> > > > > de.hanser.buch.opiz.domain.Topping
> > > > > </converter-for-class>
> > > > > <converter-class>
> > > > > de.hanser.buch.opiz.web.jsf.ToppingConverter
> > > > > </converter-class>
> > > > > </converter>
> > > > >
> > > > > </faces-config>
> > > > >
> > > > > << END faces-config.xml >>
> > > > >
> > >
> >
> >
> > --
> > Matthias Wessendorf
> > http://tinyurl.com/fmywh
> >
> > further stuff:
> > blog: http://jroller.com/page/mwessendorf
> > mail: mwessendorf-at-gmail-dot-com
> >
Re: Trinidad, Facelets and Acegi
Posted by Cagatay Civici <ca...@gmail.com>.
Hi,
I agree with Matthias and strongly suggest to use the securitycontext el
extension, it'll be much simpler.
Regards,
Cagatay
On 3/22/07, Matthias Wessendorf <ma...@apache.org> wrote:
>
> Hey Kuno,
>
> the issue is, that the component expects a <tr:commandNavigationItem>
> component.
> The point is, you wrap it by using <acegijsf:authorize>.
>
> It would be good, if you could *nest* the <acegijsf:authorize> inside
> other components.
>
> <tr:commandNavigationItem>
> <acegijsf:authorize />
> </tr:commandNavigationItem>
>
> See see blog discussion, that using tabs might be not the best way of
> doing this security stuff.
>
> There is also something like:
> http://wiki.apache.org/myfaces/SecurityContext
> in myfaces, for using EL based sec. checks.
>
> -M
> On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > Hi Cafatay!
> >
> > Thanks for your hint! I've found an example application
> >
> http://www.nabble.com/Appfuse-+-facelets-+-other-goodies-t1019957s2369.htmland added the facelets JSP taglib mapping to my
> web.xml
> >
> > <context-param>
> > <param-name>facelets.LIBRARIES</param-name>
> > <param-value>/WEB-INF/acegijsf.taglib.xml</param-value>
> > </context-param>
> >
> > But, I still get an error:
> >
> > 22.03.2007 09:41:53
> >
> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
> > UIXCommand but found another type of component instead.
> > java.lang.ClassCastException: net.sf.jsfcomp.acegijsf.Authorize
> >
> > Do you have any idea?
> >
> > Kuno
> >
> > On Thu, 2007-03-22 at 10:04 +0200, Cagatay Civici wrote:
> > > Hi,
> > >
> > > Have you defined the acegijsf components in your facelets-taglib
> config?
> > >
> > > Cagatay
> > >
> > > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > > >
> > > > Hello everybody,
> > > >
> > > > I like to put trinidad, facelets and acegi together. The appserver
> > > > compiles the HTML page, but complains about an unvalid type:
> > > >
> > > > 22.03.2007 08:35:21 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> > > > WARNUNG: /layout.xhtml @7,42
> > > > xmlns:authz="http://acegisecurity.org/authz" Property 'authz' is not
> on
> > > > type: org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > 22.03.2007 08:35:23
> > > >
> > > >
> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> expected
> > > > UIXCommand but found another type of component instead.
> > > > java.lang.ClassCastException:
> com.sun.facelets.compiler.UILiteralText
> > > >
> > > > I've found an promising acegi-jsf component to solve that problem :
> > > >
> > > >
> http://www.jroller.com/page/cagataycivici?entry=acegi_jsf_components_hit_the
> > > >
> > > > But, I still get the same error:
> > > >
> > > > 22.03.2007 08:52:35 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> > > > WARNUNG: /layout.xhtml @7,42
> > > > xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
> > > > Property 'acegijsf' is not on type:
> > > > org.apache.myfaces.trinidad.component.core.CoreDocument
> > > > 22.03.2007 08:52:41
> > > >
> > > >
> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > > SCHWERWIEGEND: Warning: illegal component hierarchy detected,
> expected
> > > > UIXCommand but found another type of component instead.
> > > > java.lang.ClassCastException:
> com.sun.facelets.compiler.UILiteralText
> > > >
> > > > I think I still get the same error. Can any body help me?
> > > >
> > > > Here is my facelet and faces-config.xml:
> > > >
> > > > << START template.xhtml >>
> > > > <tr:document
> > > > xmlns:ui="http://java.sun.com/jsf/facelets"
> > > > xmlns:h="http://java.sun.com/jsf/html"
> > > > xmlns:f="http://java.sun.com/jsf/core"
> > > > xmlns:tr="http://myfaces.apache.org/trinidad"
> > > > xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf
> "
> > > > title="OPIZ - Pizza online bestellen">
> > > > <tr:panelGroupLayout layout="vertical">
> > > > <f:facet name="separator">
> > > > <tr:separator/>
> > > > </f:facet>
> > > > <tr:commandLink immediate="true" text="Home"
> > > > action="home"/>
> > > > <tr:outputFormatted styleUsage="instruction"
> > > > value="BKW Intranet"/>
> > > > <tr:panelPage >
> > > > <f:facet name="navigation1">
> > > > <tr:form>
> > > > <tr:navigationPane hint="tabs" shortDesc="Wähle Tab">
> > > > <tr:commandNavigationItem text="home"
> action="home"/>
> > > > <acegijsf:authorize
> > > > ifNotGranted="ROLE_ADMIN">
> > > > <tr:commandNavigationItem
> > > > text="Warenkorb" action="showOrder"/>
> > > > </acegijsf:authorize>
> > > > <acegijsf:authorize
> > > > ifNotGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > <tr:commandNavigationItem
> > > > text="Registrieren" action="register"/>
> > > > <tr:commandNavigationItem
> > > > text="Anmelden"
> > > > action="login"/>
> > > > </acegijsf:authorize>
> > > > <acegijsf:authorize
> > > > ifAnyGranted="ROLE_ADMIN">
> > > > <tr:commandNavigationItem
> > > > text="Kundenliste"
> > > > action="showCustomer"/>
> > > > </acegijsf:authorize>
> > > > <acegijsf:authorize
> > > > ifAnyGranted="ROLE_CUSTOMER">
> > > > <tr:commandNavigationItem
> > > > text="Meine Daten"
> > > > action="#{customerAction.editCustomer}"/>
> > > > <tr:commandNavigationItem
> > > > text="Meine Bestellungen"
> > > > action="orderHistory"/>
> > > > </acegijsf:authorize>
> > > > <acegijsf:authorize
> > > > ifAnyGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > > <tr:commandNavigationItem
> > > > text="Abmelden"
> > > > action="logout"/>
> > > > <acegijsf:authentication
> > > > operation="username"/>
> > > > </acegijsf:authorize>
> > > > </tr:navigationPane>
> > > > </tr:form>
> > > > </f:facet>
> > > > <f:facet name="navigationGlobal">
> > > > <tr:navigationPane hint="buttons">
> > > > <tr:commandNavigationItem text="help"
> > > > icon="/images/globalhelp.gif"
> > > > action="guide.navigationPane"/>
> > > > <tr:commandNavigationItem text="help more"
> > > > icon="/images/globalhelp.gif"
> > > > action="guide.navigationPane"/>
> > > > <tr:commandNavigationItem text="Disabled"
> > > > icon="/images/globalhelp.gif"
> > > > action="guide.navigationPane"
> > > > disabled="true"/>
> > > > <tr:commandNavigationItem text="Disabled"
> > > > icon="/images/globalhelp.gif"
> > > > action="guide.navigationPane"
> > > > disabled="true"/>
> > > > </tr:navigationPane>
> > > > </f:facet>
> > > > <f:facet name="branding">
> > > > <tr:outputFormatted value="OPIZ - Pizza online
> > > > bestellen"
> > > > styleUsage="inContextBranding"/>
> > > > </f:facet>
> > > > <f:facet name="appCopyright">
> > > > <tr:outputText value="copyright by BKW Energie AG
> > > > 2007"/>
> > > > </f:facet>
> > > > <f:facet name="appPrivacy">
> > > > <tr:commandLink text="privacy" action="action.none"
> />
> > > > </f:facet>
> > > > <f:facet name="appAbout">
> > > > <tr:commandLink text="about" action="action.none" />
> > > > </f:facet>
> > > >
> > > > <ui:insert name="content">
> > > > <ui:include src=""/>
> > > > </ui:insert>
> > > > </tr:panelPage>
> > > > </tr:panelGroupLayout>
> > > > </tr:document>
> > > >
> > > > << END template.xhtml >>
> > > >
> > > > << START faces-config.xml >>
> > > > <?xml version="1.0"?>
> > > >
> > > > <!DOCTYPE faces-config PUBLIC
> > > > "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
> > > > "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
> > > >
> > > > <faces-config>
> > > >
> > > > <application>
> > > > <variable-resolver>
> > > > org.springframework.web.jsf.DelegatingVariableResolver
> > > > </variable-resolver>
> > > > <locale-config>
> > > > <default-locale>de_DE</default-locale>
> > > > <supported-locale>de</supported-locale>
> > > > <supported-locale>en</supported-locale>
> > > > </locale-config>
> > > > <default-render-kit-id>
> > > > org.apache.myfaces.trinidad.core
> > > > </default-render-kit-id>
> > > > </application>
> > > >
> > > > <component>
> > > >
> > > > <component-type>net.sf.jsfcomp.acegijsf.Authorize</component-type>
> > > >
> > > > <component-class>net.sf.jsfcomp.acegijsf.Authorize</component-class>
> > > > </component>
> > > >
> > > > <component>
> > > >
> > > > <component-type>net.sf.jsfcomp.acegijsf.Authentication
> </component-type>
> > > >
> > > > <component-class>net.sf.jsfcomp.acegijsf.Authentication
> </component-class>
> > > > </component>
> > > >
> > > > <navigation-rule>
> > > > <from-view-id>/*</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>logout</from-outcome>
> > > > <to-view-id>/j_acegi_logout.jsp</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > > <navigation-rule>
> > > > <from-view-id>/opiz/*</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>home</from-outcome>
> > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>register</from-outcome>
> > > > <to-view-id>/opiz/register.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>login</from-outcome>
> > > > <to-view-id>/opiz/login.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>showOrder</from-outcome>
> > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>showCustomer</from-outcome>
> > > > <to-view-id>/opiz/showCustomer.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>editCustomer</from-outcome>
> > > > <to-view-id>/opiz/editCustomer.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>orderHistory</from-outcome>
> > > > <to-view-id>/opiz/showOrderHistory.jsp</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > > <navigation-rule>
> > > > <from-view-id>/opiz/login.jsp</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>login</from-outcome>
> > > > <to-view-id>/j_acegi_security_check.jsp</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > > <navigation-rule>
> > > > <from-view-id>/opiz/register.jsp</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>register</from-outcome>
> > > > <to-view-id>/opiz/showRegistration.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>cancel</from-outcome>
> > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > > <navigation-rule>
> > > > <from-view-id>/opiz/choosePizza.xhtml</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>add</from-outcome>
> > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>customize</from-outcome>
> > > > <to-view-id>/opiz/topPizza.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>cancel</from-outcome>
> > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > > <navigation-rule>
> > > > <from-view-id>/opiz/topPizza.jsp</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>add</from-outcome>
> > > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>cancel</from-outcome>
> > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > > <navigation-rule>
> > > > <from-view-id>/opiz/showOrder.jsp</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>order</from-outcome>
> > > > <to-view-id>/opiz/order.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>cancel</from-outcome>
> > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>continue</from-outcome>
> > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > > <navigation-rule>
> > > > <from-view-id>/opiz/order.jsp</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>deliver</from-outcome>
> > > > <to-view-id>/opiz/deliver.jsp</to-view-id>
> > > > </navigation-case>
> > > > <navigation-case>
> > > > <from-outcome>cancel</from-outcome>
> > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > > <navigation-rule>
> > > > <from-view-id>/opiz/showOrderHistory.jsp</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>cancel</from-outcome>
> > > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > > <navigation-rule>
> > > > <from-view-id>/opiz/editCustomer.jsp</from-view-id>
> > > > <navigation-case>
> > > > <from-outcome>cancel</from-outcome>
> > > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > > </navigation-case>
> > > > </navigation-rule>
> > > >
> > > > <converter>
> > > > <converter-id>pizzaConverter</converter-id>
> > > > <converter-class>
> > > > de.hanser.buch.opiz.web.jsf.PizzaConverter
> > > > </converter-class>
> > > > </converter>
> > > > <converter>
> > > > <converter-for-class>
> > > > de.hanser.buch.opiz.domain.Topping
> > > > </converter-for-class>
> > > > <converter-class>
> > > > de.hanser.buch.opiz.web.jsf.ToppingConverter
> > > > </converter-class>
> > > > </converter>
> > > >
> > > > </faces-config>
> > > >
> > > > << END faces-config.xml >>
> > > >
> >
>
>
> --
> Matthias Wessendorf
> http://tinyurl.com/fmywh
>
> further stuff:
> blog: http://jroller.com/page/mwessendorf
> mail: mwessendorf-at-gmail-dot-com
>
Re: Trinidad, Facelets and Acegi
Posted by Matthias Wessendorf <ma...@apache.org>.
Hey Kuno,
the issue is, that the component expects a <tr:commandNavigationItem> component.
The point is, you wrap it by using <acegijsf:authorize>.
It would be good, if you could *nest* the <acegijsf:authorize> inside
other components.
<tr:commandNavigationItem>
<acegijsf:authorize />
</tr:commandNavigationItem>
See see blog discussion, that using tabs might be not the best way of
doing this security stuff.
There is also something like:
http://wiki.apache.org/myfaces/SecurityContext
in myfaces, for using EL based sec. checks.
-M
On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> Hi Cafatay!
>
> Thanks for your hint! I've found an example application
> http://www.nabble.com/Appfuse-+-facelets-+-other-goodies-t1019957s2369.html and added the facelets JSP taglib mapping to my web.xml
>
> <context-param>
> <param-name>facelets.LIBRARIES</param-name>
> <param-value>/WEB-INF/acegijsf.taglib.xml</param-value>
> </context-param>
>
> But, I still get an error:
>
> 22.03.2007 09:41:53
> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer renderContent
> SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
> UIXCommand but found another type of component instead.
> java.lang.ClassCastException: net.sf.jsfcomp.acegijsf.Authorize
>
> Do you have any idea?
>
> Kuno
>
> On Thu, 2007-03-22 at 10:04 +0200, Cagatay Civici wrote:
> > Hi,
> >
> > Have you defined the acegijsf components in your facelets-taglib config?
> >
> > Cagatay
> >
> > On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> > >
> > > Hello everybody,
> > >
> > > I like to put trinidad, facelets and acegi together. The appserver
> > > compiles the HTML page, but complains about an unvalid type:
> > >
> > > 22.03.2007 08:35:21 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> > > WARNUNG: /layout.xhtml @7,42
> > > xmlns:authz="http://acegisecurity.org/authz" Property 'authz' is not on
> > > type: org.apache.myfaces.trinidad.component.core.CoreDocument
> > > 22.03.2007 08:35:23
> > >
> > > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
> > > UIXCommand but found another type of component instead.
> > > java.lang.ClassCastException: com.sun.facelets.compiler.UILiteralText
> > >
> > > I've found an promising acegi-jsf component to solve that problem :
> > >
> > > http://www.jroller.com/page/cagataycivici?entry=acegi_jsf_components_hit_the
> > >
> > > But, I still get the same error:
> > >
> > > 22.03.2007 08:52:35 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> > > WARNUNG: /layout.xhtml @7,42
> > > xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
> > > Property 'acegijsf' is not on type:
> > > org.apache.myfaces.trinidad.component.core.CoreDocument
> > > 22.03.2007 08:52:41
> > >
> > > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > > SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
> > > UIXCommand but found another type of component instead.
> > > java.lang.ClassCastException: com.sun.facelets.compiler.UILiteralText
> > >
> > > I think I still get the same error. Can any body help me?
> > >
> > > Here is my facelet and faces-config.xml:
> > >
> > > << START template.xhtml >>
> > > <tr:document
> > > xmlns:ui="http://java.sun.com/jsf/facelets"
> > > xmlns:h="http://java.sun.com/jsf/html"
> > > xmlns:f="http://java.sun.com/jsf/core"
> > > xmlns:tr="http://myfaces.apache.org/trinidad"
> > > xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
> > > title="OPIZ - Pizza online bestellen">
> > > <tr:panelGroupLayout layout="vertical">
> > > <f:facet name="separator">
> > > <tr:separator/>
> > > </f:facet>
> > > <tr:commandLink immediate="true" text="Home"
> > > action="home"/>
> > > <tr:outputFormatted styleUsage="instruction"
> > > value="BKW Intranet"/>
> > > <tr:panelPage >
> > > <f:facet name="navigation1">
> > > <tr:form>
> > > <tr:navigationPane hint="tabs" shortDesc="Wähle Tab">
> > > <tr:commandNavigationItem text="home" action="home"/>
> > > <acegijsf:authorize
> > > ifNotGranted="ROLE_ADMIN">
> > > <tr:commandNavigationItem
> > > text="Warenkorb" action="showOrder"/>
> > > </acegijsf:authorize>
> > > <acegijsf:authorize
> > > ifNotGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > <tr:commandNavigationItem
> > > text="Registrieren" action="register"/>
> > > <tr:commandNavigationItem
> > > text="Anmelden"
> > > action="login"/>
> > > </acegijsf:authorize>
> > > <acegijsf:authorize
> > > ifAnyGranted="ROLE_ADMIN">
> > > <tr:commandNavigationItem
> > > text="Kundenliste"
> > > action="showCustomer"/>
> > > </acegijsf:authorize>
> > > <acegijsf:authorize
> > > ifAnyGranted="ROLE_CUSTOMER">
> > > <tr:commandNavigationItem
> > > text="Meine Daten"
> > > action="#{customerAction.editCustomer}"/>
> > > <tr:commandNavigationItem
> > > text="Meine Bestellungen"
> > > action="orderHistory"/>
> > > </acegijsf:authorize>
> > > <acegijsf:authorize
> > > ifAnyGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > > <tr:commandNavigationItem
> > > text="Abmelden"
> > > action="logout"/>
> > > <acegijsf:authentication
> > > operation="username"/>
> > > </acegijsf:authorize>
> > > </tr:navigationPane>
> > > </tr:form>
> > > </f:facet>
> > > <f:facet name="navigationGlobal">
> > > <tr:navigationPane hint="buttons">
> > > <tr:commandNavigationItem text="help"
> > > icon="/images/globalhelp.gif"
> > > action="guide.navigationPane"/>
> > > <tr:commandNavigationItem text="help more"
> > > icon="/images/globalhelp.gif"
> > > action="guide.navigationPane"/>
> > > <tr:commandNavigationItem text="Disabled"
> > > icon="/images/globalhelp.gif"
> > > action="guide.navigationPane"
> > > disabled="true"/>
> > > <tr:commandNavigationItem text="Disabled"
> > > icon="/images/globalhelp.gif"
> > > action="guide.navigationPane"
> > > disabled="true"/>
> > > </tr:navigationPane>
> > > </f:facet>
> > > <f:facet name="branding">
> > > <tr:outputFormatted value="OPIZ - Pizza online
> > > bestellen"
> > > styleUsage="inContextBranding"/>
> > > </f:facet>
> > > <f:facet name="appCopyright">
> > > <tr:outputText value="copyright by BKW Energie AG
> > > 2007"/>
> > > </f:facet>
> > > <f:facet name="appPrivacy">
> > > <tr:commandLink text="privacy" action="action.none" />
> > > </f:facet>
> > > <f:facet name="appAbout">
> > > <tr:commandLink text="about" action="action.none" />
> > > </f:facet>
> > >
> > > <ui:insert name="content">
> > > <ui:include src=""/>
> > > </ui:insert>
> > > </tr:panelPage>
> > > </tr:panelGroupLayout>
> > > </tr:document>
> > >
> > > << END template.xhtml >>
> > >
> > > << START faces-config.xml >>
> > > <?xml version="1.0"?>
> > >
> > > <!DOCTYPE faces-config PUBLIC
> > > "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
> > > "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
> > >
> > > <faces-config>
> > >
> > > <application>
> > > <variable-resolver>
> > > org.springframework.web.jsf.DelegatingVariableResolver
> > > </variable-resolver>
> > > <locale-config>
> > > <default-locale>de_DE</default-locale>
> > > <supported-locale>de</supported-locale>
> > > <supported-locale>en</supported-locale>
> > > </locale-config>
> > > <default-render-kit-id>
> > > org.apache.myfaces.trinidad.core
> > > </default-render-kit-id>
> > > </application>
> > >
> > > <component>
> > >
> > > <component-type>net.sf.jsfcomp.acegijsf.Authorize</component-type>
> > >
> > > <component-class>net.sf.jsfcomp.acegijsf.Authorize</component-class>
> > > </component>
> > >
> > > <component>
> > >
> > > <component-type>net.sf.jsfcomp.acegijsf.Authentication</component-type>
> > >
> > > <component-class>net.sf.jsfcomp.acegijsf.Authentication</component-class>
> > > </component>
> > >
> > > <navigation-rule>
> > > <from-view-id>/*</from-view-id>
> > > <navigation-case>
> > > <from-outcome>logout</from-outcome>
> > > <to-view-id>/j_acegi_logout.jsp</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > > <navigation-rule>
> > > <from-view-id>/opiz/*</from-view-id>
> > > <navigation-case>
> > > <from-outcome>home</from-outcome>
> > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>register</from-outcome>
> > > <to-view-id>/opiz/register.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>login</from-outcome>
> > > <to-view-id>/opiz/login.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>showOrder</from-outcome>
> > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>showCustomer</from-outcome>
> > > <to-view-id>/opiz/showCustomer.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>editCustomer</from-outcome>
> > > <to-view-id>/opiz/editCustomer.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>orderHistory</from-outcome>
> > > <to-view-id>/opiz/showOrderHistory.jsp</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > > <navigation-rule>
> > > <from-view-id>/opiz/login.jsp</from-view-id>
> > > <navigation-case>
> > > <from-outcome>login</from-outcome>
> > > <to-view-id>/j_acegi_security_check.jsp</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > > <navigation-rule>
> > > <from-view-id>/opiz/register.jsp</from-view-id>
> > > <navigation-case>
> > > <from-outcome>register</from-outcome>
> > > <to-view-id>/opiz/showRegistration.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>cancel</from-outcome>
> > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > > <navigation-rule>
> > > <from-view-id>/opiz/choosePizza.xhtml</from-view-id>
> > > <navigation-case>
> > > <from-outcome>add</from-outcome>
> > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>customize</from-outcome>
> > > <to-view-id>/opiz/topPizza.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>cancel</from-outcome>
> > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > > <navigation-rule>
> > > <from-view-id>/opiz/topPizza.jsp</from-view-id>
> > > <navigation-case>
> > > <from-outcome>add</from-outcome>
> > > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>cancel</from-outcome>
> > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > > <navigation-rule>
> > > <from-view-id>/opiz/showOrder.jsp</from-view-id>
> > > <navigation-case>
> > > <from-outcome>order</from-outcome>
> > > <to-view-id>/opiz/order.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>cancel</from-outcome>
> > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>continue</from-outcome>
> > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > > <navigation-rule>
> > > <from-view-id>/opiz/order.jsp</from-view-id>
> > > <navigation-case>
> > > <from-outcome>deliver</from-outcome>
> > > <to-view-id>/opiz/deliver.jsp</to-view-id>
> > > </navigation-case>
> > > <navigation-case>
> > > <from-outcome>cancel</from-outcome>
> > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > > <navigation-rule>
> > > <from-view-id>/opiz/showOrderHistory.jsp</from-view-id>
> > > <navigation-case>
> > > <from-outcome>cancel</from-outcome>
> > > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > > <navigation-rule>
> > > <from-view-id>/opiz/editCustomer.jsp</from-view-id>
> > > <navigation-case>
> > > <from-outcome>cancel</from-outcome>
> > > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > > </navigation-case>
> > > </navigation-rule>
> > >
> > > <converter>
> > > <converter-id>pizzaConverter</converter-id>
> > > <converter-class>
> > > de.hanser.buch.opiz.web.jsf.PizzaConverter
> > > </converter-class>
> > > </converter>
> > > <converter>
> > > <converter-for-class>
> > > de.hanser.buch.opiz.domain.Topping
> > > </converter-for-class>
> > > <converter-class>
> > > de.hanser.buch.opiz.web.jsf.ToppingConverter
> > > </converter-class>
> > > </converter>
> > >
> > > </faces-config>
> > >
> > > << END faces-config.xml >>
> > >
>
--
Matthias Wessendorf
http://tinyurl.com/fmywh
further stuff:
blog: http://jroller.com/page/mwessendorf
mail: mwessendorf-at-gmail-dot-com
Re: Trinidad, Facelets and Acegi
Posted by Kuno Baeriswyl <ku...@bkw-fmb.ch>.
Hi Cafatay!
Thanks for your hint! I've found an example application
http://www.nabble.com/Appfuse-+-facelets-+-other-goodies-t1019957s2369.html and added the facelets JSP taglib mapping to my web.xml
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>/WEB-INF/acegijsf.taglib.xml</param-value>
</context-param>
But, I still get an error:
22.03.2007 09:41:53
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer renderContent
SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
UIXCommand but found another type of component instead.
java.lang.ClassCastException: net.sf.jsfcomp.acegijsf.Authorize
Do you have any idea?
Kuno
On Thu, 2007-03-22 at 10:04 +0200, Cagatay Civici wrote:
> Hi,
>
> Have you defined the acegijsf components in your facelets-taglib config?
>
> Cagatay
>
> On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
> >
> > Hello everybody,
> >
> > I like to put trinidad, facelets and acegi together. The appserver
> > compiles the HTML page, but complains about an unvalid type:
> >
> > 22.03.2007 08:35:21 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> > WARNUNG: /layout.xhtml @7,42
> > xmlns:authz="http://acegisecurity.org/authz" Property 'authz' is not on
> > type: org.apache.myfaces.trinidad.component.core.CoreDocument
> > 22.03.2007 08:35:23
> >
> > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
> > UIXCommand but found another type of component instead.
> > java.lang.ClassCastException: com.sun.facelets.compiler.UILiteralText
> >
> > I've found an promising acegi-jsf component to solve that problem :
> >
> > http://www.jroller.com/page/cagataycivici?entry=acegi_jsf_components_hit_the
> >
> > But, I still get the same error:
> >
> > 22.03.2007 08:52:35 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> > WARNUNG: /layout.xhtml @7,42
> > xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
> > Property 'acegijsf' is not on type:
> > org.apache.myfaces.trinidad.component.core.CoreDocument
> > 22.03.2007 08:52:41
> >
> > org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> > SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
> > UIXCommand but found another type of component instead.
> > java.lang.ClassCastException: com.sun.facelets.compiler.UILiteralText
> >
> > I think I still get the same error. Can any body help me?
> >
> > Here is my facelet and faces-config.xml:
> >
> > << START template.xhtml >>
> > <tr:document
> > xmlns:ui="http://java.sun.com/jsf/facelets"
> > xmlns:h="http://java.sun.com/jsf/html"
> > xmlns:f="http://java.sun.com/jsf/core"
> > xmlns:tr="http://myfaces.apache.org/trinidad"
> > xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
> > title="OPIZ - Pizza online bestellen">
> > <tr:panelGroupLayout layout="vertical">
> > <f:facet name="separator">
> > <tr:separator/>
> > </f:facet>
> > <tr:commandLink immediate="true" text="Home"
> > action="home"/>
> > <tr:outputFormatted styleUsage="instruction"
> > value="BKW Intranet"/>
> > <tr:panelPage >
> > <f:facet name="navigation1">
> > <tr:form>
> > <tr:navigationPane hint="tabs" shortDesc="Wähle Tab">
> > <tr:commandNavigationItem text="home" action="home"/>
> > <acegijsf:authorize
> > ifNotGranted="ROLE_ADMIN">
> > <tr:commandNavigationItem
> > text="Warenkorb" action="showOrder"/>
> > </acegijsf:authorize>
> > <acegijsf:authorize
> > ifNotGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > <tr:commandNavigationItem
> > text="Registrieren" action="register"/>
> > <tr:commandNavigationItem
> > text="Anmelden"
> > action="login"/>
> > </acegijsf:authorize>
> > <acegijsf:authorize
> > ifAnyGranted="ROLE_ADMIN">
> > <tr:commandNavigationItem
> > text="Kundenliste"
> > action="showCustomer"/>
> > </acegijsf:authorize>
> > <acegijsf:authorize
> > ifAnyGranted="ROLE_CUSTOMER">
> > <tr:commandNavigationItem
> > text="Meine Daten"
> > action="#{customerAction.editCustomer}"/>
> > <tr:commandNavigationItem
> > text="Meine Bestellungen"
> > action="orderHistory"/>
> > </acegijsf:authorize>
> > <acegijsf:authorize
> > ifAnyGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> > <tr:commandNavigationItem
> > text="Abmelden"
> > action="logout"/>
> > <acegijsf:authentication
> > operation="username"/>
> > </acegijsf:authorize>
> > </tr:navigationPane>
> > </tr:form>
> > </f:facet>
> > <f:facet name="navigationGlobal">
> > <tr:navigationPane hint="buttons">
> > <tr:commandNavigationItem text="help"
> > icon="/images/globalhelp.gif"
> > action="guide.navigationPane"/>
> > <tr:commandNavigationItem text="help more"
> > icon="/images/globalhelp.gif"
> > action="guide.navigationPane"/>
> > <tr:commandNavigationItem text="Disabled"
> > icon="/images/globalhelp.gif"
> > action="guide.navigationPane"
> > disabled="true"/>
> > <tr:commandNavigationItem text="Disabled"
> > icon="/images/globalhelp.gif"
> > action="guide.navigationPane"
> > disabled="true"/>
> > </tr:navigationPane>
> > </f:facet>
> > <f:facet name="branding">
> > <tr:outputFormatted value="OPIZ - Pizza online
> > bestellen"
> > styleUsage="inContextBranding"/>
> > </f:facet>
> > <f:facet name="appCopyright">
> > <tr:outputText value="copyright by BKW Energie AG
> > 2007"/>
> > </f:facet>
> > <f:facet name="appPrivacy">
> > <tr:commandLink text="privacy" action="action.none" />
> > </f:facet>
> > <f:facet name="appAbout">
> > <tr:commandLink text="about" action="action.none" />
> > </f:facet>
> >
> > <ui:insert name="content">
> > <ui:include src=""/>
> > </ui:insert>
> > </tr:panelPage>
> > </tr:panelGroupLayout>
> > </tr:document>
> >
> > << END template.xhtml >>
> >
> > << START faces-config.xml >>
> > <?xml version="1.0"?>
> >
> > <!DOCTYPE faces-config PUBLIC
> > "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
> > "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
> >
> > <faces-config>
> >
> > <application>
> > <variable-resolver>
> > org.springframework.web.jsf.DelegatingVariableResolver
> > </variable-resolver>
> > <locale-config>
> > <default-locale>de_DE</default-locale>
> > <supported-locale>de</supported-locale>
> > <supported-locale>en</supported-locale>
> > </locale-config>
> > <default-render-kit-id>
> > org.apache.myfaces.trinidad.core
> > </default-render-kit-id>
> > </application>
> >
> > <component>
> >
> > <component-type>net.sf.jsfcomp.acegijsf.Authorize</component-type>
> >
> > <component-class>net.sf.jsfcomp.acegijsf.Authorize</component-class>
> > </component>
> >
> > <component>
> >
> > <component-type>net.sf.jsfcomp.acegijsf.Authentication</component-type>
> >
> > <component-class>net.sf.jsfcomp.acegijsf.Authentication</component-class>
> > </component>
> >
> > <navigation-rule>
> > <from-view-id>/*</from-view-id>
> > <navigation-case>
> > <from-outcome>logout</from-outcome>
> > <to-view-id>/j_acegi_logout.jsp</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> > <navigation-rule>
> > <from-view-id>/opiz/*</from-view-id>
> > <navigation-case>
> > <from-outcome>home</from-outcome>
> > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>register</from-outcome>
> > <to-view-id>/opiz/register.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>login</from-outcome>
> > <to-view-id>/opiz/login.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>showOrder</from-outcome>
> > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>showCustomer</from-outcome>
> > <to-view-id>/opiz/showCustomer.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>editCustomer</from-outcome>
> > <to-view-id>/opiz/editCustomer.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>orderHistory</from-outcome>
> > <to-view-id>/opiz/showOrderHistory.jsp</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> > <navigation-rule>
> > <from-view-id>/opiz/login.jsp</from-view-id>
> > <navigation-case>
> > <from-outcome>login</from-outcome>
> > <to-view-id>/j_acegi_security_check.jsp</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> > <navigation-rule>
> > <from-view-id>/opiz/register.jsp</from-view-id>
> > <navigation-case>
> > <from-outcome>register</from-outcome>
> > <to-view-id>/opiz/showRegistration.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>cancel</from-outcome>
> > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> > <navigation-rule>
> > <from-view-id>/opiz/choosePizza.xhtml</from-view-id>
> > <navigation-case>
> > <from-outcome>add</from-outcome>
> > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>customize</from-outcome>
> > <to-view-id>/opiz/topPizza.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>cancel</from-outcome>
> > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> > <navigation-rule>
> > <from-view-id>/opiz/topPizza.jsp</from-view-id>
> > <navigation-case>
> > <from-outcome>add</from-outcome>
> > <to-view-id>/opiz/showOrder.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>cancel</from-outcome>
> > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> > <navigation-rule>
> > <from-view-id>/opiz/showOrder.jsp</from-view-id>
> > <navigation-case>
> > <from-outcome>order</from-outcome>
> > <to-view-id>/opiz/order.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>cancel</from-outcome>
> > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>continue</from-outcome>
> > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> > <navigation-rule>
> > <from-view-id>/opiz/order.jsp</from-view-id>
> > <navigation-case>
> > <from-outcome>deliver</from-outcome>
> > <to-view-id>/opiz/deliver.jsp</to-view-id>
> > </navigation-case>
> > <navigation-case>
> > <from-outcome>cancel</from-outcome>
> > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> > <navigation-rule>
> > <from-view-id>/opiz/showOrderHistory.jsp</from-view-id>
> > <navigation-case>
> > <from-outcome>cancel</from-outcome>
> > <to-view-id>/opiz/cancel.jsp</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> > <navigation-rule>
> > <from-view-id>/opiz/editCustomer.jsp</from-view-id>
> > <navigation-case>
> > <from-outcome>cancel</from-outcome>
> > <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> > </navigation-case>
> > </navigation-rule>
> >
> > <converter>
> > <converter-id>pizzaConverter</converter-id>
> > <converter-class>
> > de.hanser.buch.opiz.web.jsf.PizzaConverter
> > </converter-class>
> > </converter>
> > <converter>
> > <converter-for-class>
> > de.hanser.buch.opiz.domain.Topping
> > </converter-for-class>
> > <converter-class>
> > de.hanser.buch.opiz.web.jsf.ToppingConverter
> > </converter-class>
> > </converter>
> >
> > </faces-config>
> >
> > << END faces-config.xml >>
> >
Re: Trinidad, Facelets and Acegi
Posted by Cagatay Civici <ca...@gmail.com>.
Hi,
Have you defined the acegijsf components in your facelets-taglib config?
Cagatay
On 3/22/07, Kuno Baeriswyl <ku...@bkw-fmb.ch> wrote:
>
> Hello everybody,
>
> I like to put trinidad, facelets and acegi together. The appserver
> compiles the HTML page, but complains about an unvalid type:
>
> 22.03.2007 08:35:21 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> WARNUNG: /layout.xhtml @7,42
> xmlns:authz="http://acegisecurity.org/authz" Property 'authz' is not on
> type: org.apache.myfaces.trinidad.component.core.CoreDocument
> 22.03.2007 08:35:23
>
> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
> UIXCommand but found another type of component instead.
> java.lang.ClassCastException: com.sun.facelets.compiler.UILiteralText
>
> I've found an promising acegi-jsf component to solve that problem :
>
> http://www.jroller.com/page/cagataycivici?entry=acegi_jsf_components_hit_the
>
> But, I still get the same error:
>
> 22.03.2007 08:52:35 com.sun.facelets.tag.jsf.ComponentRule warnAttr
> WARNUNG: /layout.xhtml @7,42
> xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
> Property 'acegijsf' is not on type:
> org.apache.myfaces.trinidad.component.core.CoreDocument
> 22.03.2007 08:52:41
>
> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRendererrenderContent
> SCHWERWIEGEND: Warning: illegal component hierarchy detected, expected
> UIXCommand but found another type of component instead.
> java.lang.ClassCastException: com.sun.facelets.compiler.UILiteralText
>
> I think I still get the same error. Can any body help me?
>
> Here is my facelet and faces-config.xml:
>
> << START template.xhtml >>
> <tr:document
> xmlns:ui="http://java.sun.com/jsf/facelets"
> xmlns:h="http://java.sun.com/jsf/html"
> xmlns:f="http://java.sun.com/jsf/core"
> xmlns:tr="http://myfaces.apache.org/trinidad"
> xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf"
> title="OPIZ - Pizza online bestellen">
> <tr:panelGroupLayout layout="vertical">
> <f:facet name="separator">
> <tr:separator/>
> </f:facet>
> <tr:commandLink immediate="true" text="Home"
> action="home"/>
> <tr:outputFormatted styleUsage="instruction"
> value="BKW Intranet"/>
> <tr:panelPage >
> <f:facet name="navigation1">
> <tr:form>
> <tr:navigationPane hint="tabs" shortDesc="Wähle Tab">
> <tr:commandNavigationItem text="home" action="home"/>
> <acegijsf:authorize
> ifNotGranted="ROLE_ADMIN">
> <tr:commandNavigationItem
> text="Warenkorb" action="showOrder"/>
> </acegijsf:authorize>
> <acegijsf:authorize
> ifNotGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> <tr:commandNavigationItem
> text="Registrieren" action="register"/>
> <tr:commandNavigationItem
> text="Anmelden"
> action="login"/>
> </acegijsf:authorize>
> <acegijsf:authorize
> ifAnyGranted="ROLE_ADMIN">
> <tr:commandNavigationItem
> text="Kundenliste"
> action="showCustomer"/>
> </acegijsf:authorize>
> <acegijsf:authorize
> ifAnyGranted="ROLE_CUSTOMER">
> <tr:commandNavigationItem
> text="Meine Daten"
> action="#{customerAction.editCustomer}"/>
> <tr:commandNavigationItem
> text="Meine Bestellungen"
> action="orderHistory"/>
> </acegijsf:authorize>
> <acegijsf:authorize
> ifAnyGranted="ROLE_CUSTOMER,ROLE_ADMIN">
> <tr:commandNavigationItem
> text="Abmelden"
> action="logout"/>
> <acegijsf:authentication
> operation="username"/>
> </acegijsf:authorize>
> </tr:navigationPane>
> </tr:form>
> </f:facet>
> <f:facet name="navigationGlobal">
> <tr:navigationPane hint="buttons">
> <tr:commandNavigationItem text="help"
> icon="/images/globalhelp.gif"
> action="guide.navigationPane"/>
> <tr:commandNavigationItem text="help more"
> icon="/images/globalhelp.gif"
> action="guide.navigationPane"/>
> <tr:commandNavigationItem text="Disabled"
> icon="/images/globalhelp.gif"
> action="guide.navigationPane"
> disabled="true"/>
> <tr:commandNavigationItem text="Disabled"
> icon="/images/globalhelp.gif"
> action="guide.navigationPane"
> disabled="true"/>
> </tr:navigationPane>
> </f:facet>
> <f:facet name="branding">
> <tr:outputFormatted value="OPIZ - Pizza online
> bestellen"
> styleUsage="inContextBranding"/>
> </f:facet>
> <f:facet name="appCopyright">
> <tr:outputText value="copyright by BKW Energie AG
> 2007"/>
> </f:facet>
> <f:facet name="appPrivacy">
> <tr:commandLink text="privacy" action="action.none" />
> </f:facet>
> <f:facet name="appAbout">
> <tr:commandLink text="about" action="action.none" />
> </f:facet>
>
> <ui:insert name="content">
> <ui:include src=""/>
> </ui:insert>
> </tr:panelPage>
> </tr:panelGroupLayout>
> </tr:document>
>
> << END template.xhtml >>
>
> << START faces-config.xml >>
> <?xml version="1.0"?>
>
> <!DOCTYPE faces-config PUBLIC
> "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
> "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
>
> <faces-config>
>
> <application>
> <variable-resolver>
> org.springframework.web.jsf.DelegatingVariableResolver
> </variable-resolver>
> <locale-config>
> <default-locale>de_DE</default-locale>
> <supported-locale>de</supported-locale>
> <supported-locale>en</supported-locale>
> </locale-config>
> <default-render-kit-id>
> org.apache.myfaces.trinidad.core
> </default-render-kit-id>
> </application>
>
> <component>
>
> <component-type>net.sf.jsfcomp.acegijsf.Authorize</component-type>
>
> <component-class>net.sf.jsfcomp.acegijsf.Authorize</component-class>
> </component>
>
> <component>
>
> <component-type>net.sf.jsfcomp.acegijsf.Authentication</component-type>
>
> <component-class>net.sf.jsfcomp.acegijsf.Authentication</component-class>
> </component>
>
> <navigation-rule>
> <from-view-id>/*</from-view-id>
> <navigation-case>
> <from-outcome>logout</from-outcome>
> <to-view-id>/j_acegi_logout.jsp</to-view-id>
> </navigation-case>
> </navigation-rule>
> <navigation-rule>
> <from-view-id>/opiz/*</from-view-id>
> <navigation-case>
> <from-outcome>home</from-outcome>
> <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>register</from-outcome>
> <to-view-id>/opiz/register.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>login</from-outcome>
> <to-view-id>/opiz/login.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>showOrder</from-outcome>
> <to-view-id>/opiz/showOrder.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>showCustomer</from-outcome>
> <to-view-id>/opiz/showCustomer.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>editCustomer</from-outcome>
> <to-view-id>/opiz/editCustomer.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>orderHistory</from-outcome>
> <to-view-id>/opiz/showOrderHistory.jsp</to-view-id>
> </navigation-case>
> </navigation-rule>
> <navigation-rule>
> <from-view-id>/opiz/login.jsp</from-view-id>
> <navigation-case>
> <from-outcome>login</from-outcome>
> <to-view-id>/j_acegi_security_check.jsp</to-view-id>
> </navigation-case>
> </navigation-rule>
> <navigation-rule>
> <from-view-id>/opiz/register.jsp</from-view-id>
> <navigation-case>
> <from-outcome>register</from-outcome>
> <to-view-id>/opiz/showRegistration.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>cancel</from-outcome>
> <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> </navigation-case>
> </navigation-rule>
> <navigation-rule>
> <from-view-id>/opiz/choosePizza.xhtml</from-view-id>
> <navigation-case>
> <from-outcome>add</from-outcome>
> <to-view-id>/opiz/showOrder.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>customize</from-outcome>
> <to-view-id>/opiz/topPizza.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>cancel</from-outcome>
> <to-view-id>/opiz/cancel.jsp</to-view-id>
> </navigation-case>
> </navigation-rule>
> <navigation-rule>
> <from-view-id>/opiz/topPizza.jsp</from-view-id>
> <navigation-case>
> <from-outcome>add</from-outcome>
> <to-view-id>/opiz/showOrder.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>cancel</from-outcome>
> <to-view-id>/opiz/cancel.jsp</to-view-id>
> </navigation-case>
> </navigation-rule>
> <navigation-rule>
> <from-view-id>/opiz/showOrder.jsp</from-view-id>
> <navigation-case>
> <from-outcome>order</from-outcome>
> <to-view-id>/opiz/order.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>cancel</from-outcome>
> <to-view-id>/opiz/cancel.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>continue</from-outcome>
> <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> </navigation-case>
> </navigation-rule>
> <navigation-rule>
> <from-view-id>/opiz/order.jsp</from-view-id>
> <navigation-case>
> <from-outcome>deliver</from-outcome>
> <to-view-id>/opiz/deliver.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>cancel</from-outcome>
> <to-view-id>/opiz/cancel.jsp</to-view-id>
> </navigation-case>
> </navigation-rule>
> <navigation-rule>
> <from-view-id>/opiz/showOrderHistory.jsp</from-view-id>
> <navigation-case>
> <from-outcome>cancel</from-outcome>
> <to-view-id>/opiz/cancel.jsp</to-view-id>
> </navigation-case>
> </navigation-rule>
> <navigation-rule>
> <from-view-id>/opiz/editCustomer.jsp</from-view-id>
> <navigation-case>
> <from-outcome>cancel</from-outcome>
> <to-view-id>/opiz/choosePizza.xhtml</to-view-id>
> </navigation-case>
> </navigation-rule>
>
> <converter>
> <converter-id>pizzaConverter</converter-id>
> <converter-class>
> de.hanser.buch.opiz.web.jsf.PizzaConverter
> </converter-class>
> </converter>
> <converter>
> <converter-for-class>
> de.hanser.buch.opiz.domain.Topping
> </converter-for-class>
> <converter-class>
> de.hanser.buch.opiz.web.jsf.ToppingConverter
> </converter-class>
> </converter>
>
> </faces-config>
>
> << END faces-config.xml >>
>