You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by bu...@apache.org on 2003/05/26 18:41:20 UTC

DO NOT REPLY [Bug 20246] New: - [FIX] AccessController can set null profile in particular case

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20246>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20246

[FIX] AccessController can set null profile in particular case

           Summary: [FIX] AccessController can set null profile in
                    particular case
           Product: Jetspeed
           Version: 1.4b5-dev / CVS
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Login
        AssignedTo: jetspeed-dev@jakarta.apache.org
        ReportedBy: apernoud@sopragroup.com


I don't know if this can be fixed in cvs, but here's the point : my table 
turbine_user is already filled by another app, but I don't create any psml for 
it. So at login, I test if the user has a psml, if not, then I create one for 
it.
It works fine except that when I set the current profile in jdata, there's 
another class (JetspeedAccessController) that changes it back to 'null', and 
then it breaks :(
Here is the patch for it, it's only an addition to a test to see if we're 
trying to replace an existing psml non null with a null one...
the relevant code is only here :
-         || (!currentProfile.equals(newProfile)))
+         || ((!currentProfile.equals(newProfile) && newProfile != null)))
         {
             // the profile changed due to the request parameters,
             // change it in the RunData
             jdata.setProfile(newProfile);
         }
In my case, currentProfile is not null, but newProfile is null (I don't get it 
yet, I think it's because of cache ?), and so my newly created profile is 
ripped out.
Hope I was clear enough.
Aurelien

Index: JetspeedAccessController.java
===================================================================
RCS file: /home/cvspublic/jakarta-
jetspeed/src/java/org/apache/jetspeed/modules/actions/JetspeedAccessController.j
ava,v
retrieving revision 1.7
diff -u -r1.7 JetspeedAccessController.java
--- JetspeedAccessController.java	7 May 2003 15:16:47 -0000	1.7
+++ JetspeedAccessController.java	26 May 2003 16:31:33 -0000
@@ -51,7 +51,7 @@
  * information on the Apache Software Foundation, please see
  * <http://www.apache.org/>.
  */
- 
+
 package org.apache.jetspeed.modules.actions;
 
 import org.apache.turbine.util.RunData;
@@ -67,7 +67,7 @@
     Calls the profiler to load the requested PSML resource based on request 
params
     Its necessary to load the profile from this action, not the 
SessionValidator
     in order to get the cached ACL list from logon
-  
+
 @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
 @version $Id: JetspeedAccessController.java,v 1.7 2003/05/07 15:16:47 morciuch 
Exp $
 */
@@ -80,7 +80,7 @@
 
         getACL(data);
         JetspeedRunData jdata = null;
-        
+
         try
         {
             jdata = (JetspeedRunData)data;
@@ -100,19 +100,19 @@
 
 
         if ((currentProfile == null)
-         || (!currentProfile.equals(newProfile)))
+         || ((!currentProfile.equals(newProfile) && newProfile != null)))
         {
             // the profile changed due to the request parameters,
             // change it in the RunData
             jdata.setProfile(newProfile);
         }
- 
+
     }
 
     protected void getACL(RunData data)
     {
         data.setACL(null);
-/*    
+/*
         if ( data.getUser() != null && data.getUser().hasLoggedIn() )
         {
             AccessControlList acl = (AccessControlList)

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org