Not sure i get what isn't, but disabling components based on user
authorization is also exactly what we need for our project.

Yes throwing an exception should do the same trick.

________________________________

Maurice Marrink 
www.topicus.nl  

-----Original Message-----
From: Eelco Hillenius [mailto:[EMAIL PROTECTED] 
Sent: donderdag 27 oktober 2005 1:36
To: wicket-develop@lists.sourceforge.net
Subject: Re: [Wicket-develop] integrating authorization

Nope it isn't. It is one of the main things I want to use in my
current project. Not rendering components based on the current roles
of a user. Kind of like portal functionality.

I didn't really think of the case of letting one component trigger a
page to be invalid. I see... good case too. I think that might be an
implementation detail though. Instead of returning the boolean, a
component may still throw an auth related exception. That should work,
right?

Eelco


On 10/26/05, Maurice Marrink <[EMAIL PROTECTED]> wrote:
> > and Links/Labels are using allowEnabled for there visible state.
> Now that's great I wonder why we haven't thought of that before, we'll
just
> use allowEnabled to dictate a components visibility!. It makes so much
> sense!
> Sorry for being sarcastic here but is getting late :)
> You can't have allowEnabled doing double duty here it will confuse the
hell
> out of people.
> But johan is right we need a way of letting a component / model block
access
> to a page completely or just allow the page to be displayed but not
the
> component itself.
> And you know what, we already can by using actions like access, read
and
> write. If something does not have access it blocks the page, if it
does not
> have read the page will display but not the component.
>
> Maurice
>
> ________________________________________
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Johan
> Compagner
> Sent: donderdag 27 oktober 2005 1:14
> To: wicket-develop@lists.sourceforge.net
> Subject: Re: [Wicket-develop] integrating authorization
>
> yes that i did get.
> So if one component on the page returns false for allowRender()
> then the page it self is not visible (allowAccess() failes)
>
> and Links/Labels are using allowEnabled for there visible state.
>
> On 10/27/05, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> It works exactly like isVisible, with the exception that it will
> allways overrule isVisible (I'll put that in the docs).
>
> Eelco
>
>
> On 10/26/05, Johan Compagner <[EMAIL PROTECTED] > wrote:
> > where will allowRender() be called in wicket?
> >I think the most logical first place it the Page.checkAccess() or
> > Page.checkSecurity() that is also called besides checkAccess()
> >
> >Does then the implementation do the compleet check for the page?
> >So the page itself and then all the components on the page?
> >But how does it check the components and there model data? ( think
models
>
> > need some kind of marker interface like SecurityModel)
> >
> >Because it can be that a form's model data is saying i can't render
so
> the
> > page can be renderd
> >But a link can also say i can't be renderd but that doesn't mean the
page
>
> > can't be rendered (just the link can't be rendered)
> >
> >Or if allowRender() is false in any component/model on the page then
the
> > complete page can't be rendered
> >but then allowEnabled is used to say to a link that it can't be
visible
> (so
> > there are no non enabled links they are always not rendered)
> >
> >
> >
> > On 10/27/05, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> > >
> > > Here's the interface method we (Jonathan, Igor and I) think will
work:
> > >
> > > /**
> > >* Checks whether an instance of the given component class may
> be
> > created.
> > >* If this method returns false, a [EMAIL PROTECTED]
> AuthorizationException}
> > is thrown
> > >* in during construction.
> > >*
> > >* @param c
> > >*the component to check for
> > >* @return whether the given component may be created
> > >*/
> > > boolean allowCreateComponent(Class c);
> > >
> > > /**
> > >* Gets whether the given component may be rendered. If this
> > method returns
> > >* false, the component is not rendered, and neither are it's
> > children.
> > >*
> > >* @param c
> > >*the component to check for
> > >* @return whether the given component may be rendered
> > >*/
> > > boolean allowRender(Component c);
> > >
> > > /**
> > >* <p>
> > >* Gets whether a component is allowed to be enabled. If this
> > method returns
> > >* true, a component may decide by itself (typically using it's
> > enabled
> > >* property) whether it is enabled or not. If this method
> returns
> > false, the
> > >* passed component is marked disabled, regardless it's enabled
> > property.
> > >* </p>
> > >* <p>
> > >* When a component is not allowed to be enabled (in effect
> > disabled through
> > >* the implementation of this interface), Wicket will try to
> > prevent model
> > >* updates too. This is not completely fail safe, as constructs
> > like:
> > >*
> > >* <pre>
> > >* User u = (User)getModelObject();
> > >* u.setName (&quot;got you there!&quot;);
> > >* </pre>
> > >*
> > >* can't be prevented. Indeed it can be argued that any model
> > protection is
> > >* best dealt with in your model objects to be completely
> secured.
> > Wicket
> > >* will catch all normal use though.
> > >*
> > >* </p>
> > >*
> > >* @param c
> > >*the component to check for
> > >* @return whether a component is allowed to be enabled
> > >*/
> > > boolean allowEnabled(Component c);
> > >
> > > Eelco
> > >
> > >
> > > On 10/26/05, Eelco Hillenius < [EMAIL PROTECTED]> wrote:
> > > > Well, then there's no special wicket support for that nescesarry
> either.
> > > >
> > > > >I only want to test at a certain point what is inside the
model.
> And
> > if a
> > > > > user can see that object
> > > > >and if he can see it if he can alter it.
> > > > >
> > > >
> > >
> > >
> > > -------------------------------------------------------
> > > This SF.Net email is sponsored by the JBoss Inc.
> > > Get Certified Today * Register for a JBoss Training Course
> > > Free Certification Exam for All Training Attendees Through End of
2005
> > > Visit http://www.jboss.com/services/certification for
> > more information
> > > _______________________________________________
> > > Wicket-develop mailing list
> > > Wicket-develop@lists.sourceforge.net
> > >
> > https://lists.sourceforge.net/lists/listinfo/wicket-develop
> > >
> >
> >
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by the JBoss Inc.
> Get Certified Today * Register for a JBoss Training Course
> Free Certification Exam for All Training Attendees Through End of 2005
> Visit http://www.jboss.com/services/certification for more information
> _______________________________________________
> Wicket-develop mailing list
> Wicket-develop@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by the JBoss Inc.
> Get Certified Today * Register for a JBoss Training Course
> Free Certification Exam for All Training Attendees Through End of 2005
> Visit http://www.jboss.com/services/certification for more information
> _______________________________________________
> Wicket-develop mailing list
> Wicket-develop@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
>


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Wicket-develop mailing list
Wicket-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-develop



-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Wicket-develop mailing list
Wicket-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to