You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Zoran Avtarovski <zo...@sparecreative.com> on 2010/12/01 00:00:30 UTC

Re: Link Display Logic

With OGNL you can call specific methods. So in my base action I have the
following:

public boolean isUserAuthorised(Integer actionId){
 // here I get a handle to the authorisation code and test
 // if the current user is authorised to execute the action
 // if the user is aurthorised return true else return false
}

Then on my page I have the following
<s:if test="%{isUserAuthorised(23)}"></s:if>

Hope it helps.

Z.

On 1/12/10 3:16 AM, "Biesbrock, Kevin" <Bi...@aoins.com> wrote:

>I figured it out.  My interceptor was returning null instead of
>invocation.invoke()...n00b mistake. :)
>
>In your example, you invoke a specific method "isUserAuthorized()".
>What is the method named in your action?  Is it "getIsUserAuthorized"?
>I have an action method "isAuthorized" and I have to invoke it e.g.,
><s:if test="%{authorized}">.  If I change 'authorized' to
>'isAuthorized', then my else block is executed.
>
>
>Beez
>r 5347 
>
>-----Original Message-----
>From: Biesbrock, Kevin
>Sent: Tuesday, November 30, 2010 11:06 AM
>To: 'Zoran Avtarovski'; 'Struts Users Mailing List'
>Subject: RE: Link Display Logic
>
>Thank you for the suggestion, Zoran! I guess I'm doing somewhat of a
>combination of what you and Dave suggested.
>
>I've been utilizing the Aware interfaces for my actions...I think it's
>similar to what you're suggesting with your base action class, just a
>different approach, if I understand correctly.  The difference is that
>our UserInterceptor determines authorization level and sets the level on
>the action via a UserAware interface with a setAuthorizationLevel
>method.
>
>Then I have a jsp fragment that checks if they have the required
>authorization level.  That jsp fragment is being included similarly to
>what I think Dave was suggesting, just using the standard s:action tag
>instead of writing my own custom tag.
>
>For some reason my s:action is being executed successfully, but it's not
>including the jsp fragment in my main jsp.  I have the
>executeResult="true" attribute set.  It worked for a minute and now it
>seems to just neglect to include it.  I'm working on that right now.
>
>Thank you again for your suggestions!  It definitely seems to be
>pointing me in a good direction! :)
>
>Sincerely,
>
>Beez
>
>-----Original Message-----
>From: Zoran Avtarovski [mailto:zoran@sparecreative.com]
>Sent: Monday, November 29, 2010 6:45 PM
>To: Struts Users Mailing List; Biesbrock, Kevin
>Subject: Re: Link Display Logic
>
>What we have implemented is a set of public authorisation methods in our
>base action which we call via ognl passing the actionId as the
>parameter.
>For example to test if a user should be shown the print report we have a
>isUserAuthorised(Integer actionId) method which we use as follows:
><s:if test="%{isUserAuthorised(123)}">Your stuff in here</s:if>
>
>I have to say that I think this is one of the best aspects of OGNL as
>we're easily able to easily use server side authorisation with simple
>ajax calls.
>
>Z.
>
>On 30/11/10 5:41 AM, "Biesbrock, Kevin" <Bi...@aoins.com>
>wrote:
>
>>Hello users.  I'm Kevin, first time caller, long time listener (Mr.
>>Obvious reference).
>> 
>>I have two reports and need to display a link for each if the following
>
>>conditions are met:
>>    1. The user is authorized to view the reports (they are secured),
>>and
>>    2. The specific report currently exists
>> 
>>Both of these conditions are determined via predefined methods (they
>>are "black boxes" to me).
>> 
>>Following the MVC pattern, what is the best way to split up the display
>
>>logic of this such that my links are displaying to the appropriate
>>users when they exist?
>> 
>>The links will display on the home page.  So I thought about
>>determining these factors in the home action and wrapping s:if tags
>>around links to the reports.  It seems simple enough, I was just
>>curious if there was a different and/or better approach.
>>____
>>Thank you for your time,
>>Kevin - "Beez"
>
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org