Hi,

Maybe you can implement a new conditional component that checks the role
and render or not its body. Something like this:

<t:isUserInRole role="ADMIN">
    <a t:id="saveButton" type="button" href="#">SAVE DATA</a>
</t:isuserInRole>

See https://tapestry.apache.org/component-rendering.html

Regards,

El sáb., 28 abr. 2018 a las 0:12, Luca Arzeni (<l.arz...@iname.com>)
escribió:

> Hi,
> I'm using tapestry5.4 with java 8.
>
> I am using the standard servlet API to check if a user is in role or not,
> to hide or show buttons, links, and so on.
>
> For example, I need to show a button to the user only if the user has been
> granted a role.
>
> My usual way to to this is:
>
> 1) create a method in the page, for example:
>
> @Inject
> RequestGlobals m_requestGlobals;
>
> public boolean isUserAdmin() {
>         if (m_requestGlobals == null) {
>                 return false;
>         }
>         return m_requestGlobals.isUserInRole("ADMIN");
> }
>
> 2) then, in the tml, check the method using a t:if component, for example:
>
> <t:if test="userAdmin">
>                 <a t:id="saveButton" type="button" href="#">SAVE DATA</a>
> </t:if>
>
> This is not so good, since I must reimplement the same method in many
> pages.
>
> Is there any way could I access the requestGlobals directly from tml?
>
> My goql would be to write, directly in the tml, something like:
>
>
> <t:if test="request.isuserInRole('ADMIN')">
>         <a t:id="saveButton" type="button" href="#">SAVE DATA</a>
> </t:if>
>
>
> Is it possible to do this with tapestry5?
>
> Thanks in advance,
> larzeni
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to