paulsp      2002/08/25 12:52:08

  Modified:    src/java/org/apache/jetspeed/portal BasePortletSet.java
               src/java/org/apache/jetspeed/portal/controls
                        VelocityPortletSetControl.java
               src/java/org/apache/jetspeed/portal/security/portlets
                        PortletWrapper.java
  Log:
  o Use checkPermission(JetspeedUser, PortalResource, action)
  o Set the owner in PortalResource
  
  Revision  Changes    Path
  1.26      +28 -13    
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/BasePortletSet.java
  
  Index: BasePortletSet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/BasePortletSet.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- BasePortletSet.java       15 Aug 2002 02:17:53 -0000      1.25
  +++ BasePortletSet.java       25 Aug 2002 19:52:07 -0000      1.26
  @@ -61,20 +61,22 @@
   
   //Jetspeed stuff
   import org.apache.jetspeed.om.security.JetspeedUser;
  +import org.apache.jetspeed.services.persistence.PersistenceManager;
  +import org.apache.jetspeed.services.persistence.PortalPersistenceException;
  +import org.apache.jetspeed.services.portletcache.Cacheable;
  +import org.apache.jetspeed.services.resources.JetspeedResources;
  +import org.apache.jetspeed.services.rundata.JetspeedRunData;
  +import org.apache.jetspeed.services.security.PortalResource;
   import org.apache.jetspeed.services.JetspeedSecurity;
  +import org.apache.jetspeed.util.template.JetspeedLink;
  +import org.apache.jetspeed.util.template.JetspeedLinkFactory;
   import org.apache.jetspeed.util.MetaData;
   import org.apache.jetspeed.util.MimeType;
  -import org.apache.turbine.services.localization.Localization;
  -
  -import org.apache.jetspeed.services.persistence.PersistenceManager;
  -import org.apache.jetspeed.services.persistence.PortalPersistenceException;
   
   //turbine stuff
  +import org.apache.turbine.services.localization.Localization;
   import org.apache.turbine.util.Log;
   import org.apache.turbine.util.RunData;
  -import org.apache.jetspeed.services.resources.JetspeedResources;
  -import org.apache.jetspeed.services.rundata.JetspeedRunData;
  -import org.apache.jetspeed.services.portletcache.Cacheable;
   
   //ECS stuff
   import org.apache.ecs.ConcreteElement;
  @@ -319,12 +321,25 @@
       public ConcreteElement getContent(RunData rundata)
       {
           ConcreteElement content = null; 
  -        PortletController controller = getController();        
  +        PortletController controller = getController();
  +        PortalResource portalResource = new PortalResource(this);
  +
  +        try
  +        {
  +            JetspeedLink jsLink = JetspeedLinkFactory.getInstance(rundata);
  +            portalResource.setOwner(jsLink.getUserName());
  +            JetspeedLinkFactory.putInstance(jsLink);
  +        }
  +        catch (Exception e)
  +        {
  +            Log.warn(e.toString());
  +            portalResource.setOwner(null);
  +        }
   
  -        if(!JetspeedSecurity.checkPermission((JetspeedRunData) rundata, 
  -                  JetspeedSecurity.PERMISSION_VIEW, this))
  +        if(!JetspeedSecurity.checkPermission((JetspeedUser) rundata.getUser(),  
  +                  portalResource, JetspeedSecurity.PERMISSION_VIEW))
           {   
  -            Log.debug("Unauthorized access by user 
\""+rundata.getUser().getUserName()+"+\"");
  +            Log.debug("Unauthorized access by user \"" + 
rundata.getUser().getUserName() + "\"");
               // Clear any portlets that exist in this set
               if(this.portlets != null)
               {
  @@ -334,7 +349,7 @@
           }
           else
           {
  -            Log.debug("User \""+rundata.getUser().getUserName()+" is authorized to 
portlet set "+getID());
  +            Log.debug("User \"" + rundata.getUser().getUserName() + "\" is 
authorized to portlet set " + getID());
           }
               
           if ( controller == null )
  
  
  
  1.10      +21 -4     
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/VelocityPortletSetControl.java
  
  Index: VelocityPortletSetControl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/VelocityPortletSetControl.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- VelocityPortletSetControl.java    20 Jul 2002 05:03:57 -0000      1.9
  +++ VelocityPortletSetControl.java    25 Aug 2002 19:52:08 -0000      1.10
  @@ -57,15 +57,19 @@
   // Turbine stuff
   import org.apache.turbine.util.Log;
   import org.apache.turbine.util.RunData;
  +import org.apache.turbine.util.DynamicURI;
   
   // Jetspeed stuff
  +import org.apache.jetspeed.om.security.JetspeedUser;
   import org.apache.jetspeed.portal.Portlet;
   import org.apache.jetspeed.portal.PortletSet;
   import org.apache.jetspeed.portal.PortletState;
   import org.apache.jetspeed.portal.PanedPortletController;
   import org.apache.jetspeed.services.JetspeedSecurity;
   import org.apache.jetspeed.services.rundata.JetspeedRunData;
  -import org.apache.turbine.util.DynamicURI;
  +import org.apache.jetspeed.services.security.PortalResource;
  +import org.apache.jetspeed.util.template.JetspeedLink;
  +import org.apache.jetspeed.util.template.JetspeedLinkFactory;
   
   // Velocity Stuff
   import org.apache.velocity.context.Context;
  @@ -129,9 +133,22 @@
           for ( Enumeration en = portlets.getPortlets(); en.hasMoreElements(); 
count++ )
           {
               Portlet p = (Portlet)en.nextElement();
  -            // STW Secure the tabs
  +            PortalResource portalResource = new PortalResource(p);
  +
  +            // Secure the tabs
  +            try
  +            {
  +                JetspeedLink jsLink = JetspeedLinkFactory.getInstance(rundata);
  +                portalResource.setOwner(jsLink.getUserName());
  +                JetspeedLinkFactory.putInstance(jsLink);
  +            }
  +            catch (Exception e)
  +            {
  +                Log.warn(e.toString());
  +                portalResource.setOwner(null);
  +            }
               JetspeedRunData jdata = (JetspeedRunData)rundata;
  -            boolean hasView = JetspeedSecurity.checkPermission(jdata, 
JetspeedSecurity.PERMISSION_VIEW, p);
  +            boolean hasView = JetspeedSecurity.checkPermission((JetspeedUser) 
jdata.getUser(), portalResource, JetspeedSecurity.PERMISSION_VIEW);
               if(!hasView)
               {
                   continue;
  
  
  
  1.9       +23 -3     
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/security/portlets/PortletWrapper.java
  
  Index: PortletWrapper.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/security/portlets/PortletWrapper.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- PortletWrapper.java       24 Jul 2002 03:21:18 -0000      1.8
  +++ PortletWrapper.java       25 Aug 2002 19:52:08 -0000      1.9
  @@ -65,7 +65,11 @@
   
   import org.apache.jetspeed.services.portletcache.Cacheable;
   
  +import org.apache.jetspeed.services.security.PortalResource;
   import org.apache.jetspeed.services.JetspeedSecurity;
  +import org.apache.jetspeed.util.template.JetspeedLink;
  +import org.apache.jetspeed.util.template.JetspeedLinkFactory;
  +
   
   import org.apache.turbine.util.Log;
   import org.apache.turbine.util.RunData;
  @@ -92,10 +96,12 @@
        * The portlet we are wrapping
        */
       private Portlet wrappedPortlet = null;
  +    private PortalResource portalResource = null;
   
       public PortletWrapper( Portlet inner )
       {
           wrappedPortlet = inner;
  +        portalResource = new PortalResource(wrappedPortlet);
       }
   
       /**
  @@ -290,12 +296,26 @@
       protected boolean checkPermission( RunData rundata,
                                       String permissionName )
       {
  +        try
  +        {
  +            JetspeedLink jsLink = JetspeedLinkFactory.getInstance(rundata);
  +            portalResource.setOwner(jsLink.getUserName());
  +            JetspeedLinkFactory.putInstance(jsLink);
  +        }
  +        catch (Exception e)
  +        {
  +            Log.warn(e.toString());
  +            portalResource.setOwner(null);
  +        }
  +        
           Log.debug( "checking for Portlet permission: " + 
                                              permissionName +
                                              " for portlet: " +
  -                                           wrappedPortlet.getName() );
  +                                           wrappedPortlet.getName() +
  +                                           " Owner = " + portalResource.getOwner());
  +
           return JetspeedSecurity.checkPermission( (JetspeedUser) rundata.getUser(),
  -                                                 wrappedPortlet,
  +                                                 portalResource,
                                                    permissionName);
       }
                                       
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to