Maybe other alternative is create a base page class that has this and
some/all application pages extends

@Inject
RequestGlobals m_requestGlobals;

public boolean isUserAdmin()

El sáb., 28 abr. 2018 a las 0:41, pico.dev (<pico....@gmail.com>) escribió:

> 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