This original post was under wicket stuff users list and I've reposted it
hear for more visibility, as requested by Martijn.  The following is the
response that I got from Maurice.

Hi,

what i mean is this: By default SecurePageLink (and all other links
with the same securitycheck) checks for an enable action on the page
the link points to. This check occurs both in the render (where is
decided if the link should be clickable) and in the onclick (just to
check if nobody spoofed an url to trigger a link click where it is not
allowed).

Maybe an example will make things more clear (note to self to update
the getting started)
HomePage contains a SecurePageLink to PageA.
We should declare at least .....HomePage, "render"; in our policy or
we will never see the homepage. With just this the link will not be
rendered because it lacks .....PageA, "render";
So if we put that in the policy to we will see a disabled link.
(wicket turns it into a span by default) but because the component is
still available on the server side someone could spoof the url and
trigger wicket into thinking the link was clicked, fortunatly the
second check i mentioned earlier will detect this and send you to the
accessdenied page.
Only if we make sure our policy also contains .....PageA, "enable";
the link will be fully operational.

I hope this answered your question. :)

But if you want to get realy confused you should read on because there
is an alternative mode in which it is possible to show the link even
if we have not granted render to PageA.
I am actually working on some examples showing this alternate mode,
but they are not yet available.
To activate the alternate rendering mode you need to do this:
((LinkSecurityCheck)link.getSecurityCheck()).setUseAlternativeRenderCheck(true);
Given the above example and a policy file only containing
....HomePage, "inherit, render";
the link will render as a disabled link. Note the inherit, this means
all child components on the homepage are allowed to render. Optionally
we could replace that one line with the following two lines
....HomePage, "render"; and ....HomePage:link, "render"; Assuming the
wicket id of our link is link :) To enable the link we would still
require ....PageA, "enable"; in our policy.

Thanks for checking out swarm and wasp, i hope i did not just confuse
the hell out you :)

Maurice



craigdd wrote:
> 
> In look looking the getting started page for wicket security I came across
> the following block on text when describing the configuration of
> principals.
> 
> What we just did is grant everyone the right to see (render) our HomePage,
> if there are secure components on the homepage we can see them too
> (inherit). In addition we granted links to our homepage the right to be
> clicked (enable). Because we do not want to give links on our homepage the
> right to be clicked we did not place the enable action on the previous
> line with the inherit. If we know for a fact that there are absolutely no
> links pointing to the homepage we could delete the second line, but
> generally you will want these two lines for any given secure page. If you
> think, what a long line isn't there a shorter way, then i have good news
> for you. Hive supports aliases. This means that besides the build in
> aliases for permissions you can add your own aliases for permissions,
> principals and names, just not for actions!. aliases can be concatenated
> but not nested. sow if we rewrite our policy to use aliases we get
> 
> Just to clarify, when you say "In addition we granted links to our
> homepage the right to be clicked (enable)", does this mean that the link,
> which I assume you mean , is able to be physically clicked? And if it was
> the opposite, as is the next line of the configuration "HomePage",
> "enable"", does this mean that the link is disabled to the user, or that
> it is enabled but you will get an access error exception on the server
> side?
> 
> Thanks
> Craig
> 

-- 
View this message in context: 
http://www.nabble.com/Wicket-Security-Configuration-Question-tf3884414.html#a11009846
Sent from the Wicket - User mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to