Update of 
/var/cvs/applications/cloudcontext/src/org/mmbase/security/implementation/cloudcontext
In directory 
james.mmbase.org:/tmp/cvs-serv30106/src/org/mmbase/security/implementation/cloudcontext

Modified Files:
        Authenticate.java User.java 
Added Files:
        Provider.java 
Log Message:
  MMB-1749


See also: 
http://cvs.mmbase.org/viewcvs/applications/cloudcontext/src/org/mmbase/security/implementation/cloudcontext
See also: http://www.mmbase.org/jira/browse/MMB-1749




Index: Authenticate.java
===================================================================
RCS file: 
/var/cvs/applications/cloudcontext/src/org/mmbase/security/implementation/cloudcontext/Authenticate.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- Authenticate.java   13 Nov 2008 15:18:36 -0000      1.26
+++ Authenticate.java   8 Dec 2008 17:02:46 -0000       1.27
@@ -31,7 +31,7 @@
  * @author Eduard Witteveen
  * @author Pierre van Rooden
  * @author Michiel Meeuwissen
- * @version $Id: Authenticate.java,v 1.26 2008/11/13 15:18:36 michiel Exp $
+ * @version $Id: Authenticate.java,v 1.27 2008/12/08 17:02:46 michiel Exp $
  */
 public class Authenticate extends Authentication {
     private static final Logger log = 
Logging.getLoggerInstance(Authenticate.class);
@@ -59,6 +59,19 @@
             log.error(ioe);
         }
     }
+    /**
+     * @since MMBase-1.8.7
+     */
+    public final static Authenticate getInstance() {
+        return (Authenticate) 
MMBase.getMMBase().getMMBaseCop().getAuthentication();
+    }
+
+    /**
+     * @since MMBase-1.8.7
+     */
+    public  Provider getUserProvider() {
+        return Users.getBuilder();
+    }
 
 
     /**
@@ -66,7 +79,7 @@
      */
     @Override protected void load() throws SecurityException {
         attributes.put(STORES_CONTEXT_IN_OWNER, Boolean.TRUE);
-        Users users = Users.getBuilder();
+        Provider users = getUserProvider();
         if (users == null) {
             String msg = "builders for security not installed, if you are 
trying to install the application belonging to this security, please restart 
the application after all data has been imported)";
             log.fatal(msg);
@@ -102,6 +115,7 @@
         return "mmbaseusers";
     }
 
+    private boolean warnedNoAnonymousUser = false;
 
     /**
      * [EMAIL PROTECTED]
@@ -111,15 +125,22 @@
             log.trace("login-module: '" + s + "'");
         }
         MMObjectNode node = null;
-        Users users = Users.getBuilder();
+        Provider users = getUserProvider();
         if (users == null) {
             String msg = "builders for security not installed, if you are 
trying to install the application belonging to this security, please restart 
the application after all data has been imported)";
             log.fatal(msg);
             throw new SecurityException(msg);
         }
-        allowEncodedPassword = 
org.mmbase.util.Casting.toBoolean(users.getInitParameter("allowencodedpassword"));
+        allowEncodedPassword = users.allowEncodedPassword();
         if ("anonymous".equals(s)) {
             node = users.getAnonymousUser();
+            if (node == null) {
+                if (! warnedNoAnonymousUser) {
+                    log.warn("No user node for anonymous found");
+                    warnedNoAnonymousUser = true;
+                }
+                return new LocalAdmin("anonymous", s, 
Rank.getRank("anonymous"));
+            }
         } else if ("name/password".equals(s)) {
             String userName = (String)map.get("username");
             String password = (String)map.get("password");
@@ -134,7 +155,7 @@
                     return user;
                 }
             }
-            node = users.getUser(userName, password);
+            node = users.getUser(userName, password, false);
             if (node != null && ! users.isValid(node)) {
                 throw new SecurityException("Logged in an invalid user");
             }
@@ -306,7 +327,7 @@
     }
     public  class AdminVirtualNode extends VirtualNode {
         AdminVirtualNode() {
-            super(Users.getBuilder());
+            super(Authenticate.this.getUserProvider().getUserBuilder());
         }
     }
 


Index: User.java
===================================================================
RCS file: 
/var/cvs/applications/cloudcontext/src/org/mmbase/security/implementation/cloudcontext/User.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- User.java   26 Jul 2007 12:45:57 -0000      1.25
+++ User.java   8 Dec 2008 17:02:46 -0000       1.26
@@ -28,7 +28,7 @@
  * @author Eduard Witteveen
  * @author Pierre van Rooden
  * @author Michiel Meeuwissen
- * @version $Id: User.java,v 1.25 2007/07/26 12:45:57 michiel Exp $
+ * @version $Id: User.java,v 1.26 2008/12/08 17:02:46 michiel Exp $
  * @see    org.mmbase.security.implementation.cloudcontext.builders.Users
  */
 public class User extends BasicUser implements WeakNodeEventListener  {
@@ -69,7 +69,7 @@
         if (node == null) {
             return Rank.ANONYMOUS;
         } else {
-            return Users.getBuilder().getRank(node);
+            return Authenticate.getInstance().getUserProvider().getRank(node);
         }
     }
 
@@ -78,7 +78,7 @@
         if (node == null) {
             return "system";
         } else {
-            return Users.getBuilder().getDefaultContext(node);
+            return 
Authenticate.getInstance().getUserProvider().getDefaultContext(node);
         }
     }
 
@@ -93,7 +93,7 @@
      * @javadoc
      */
     public boolean isValidNode() {
-        return (node == null) ||  Users.getBuilder().isValid(node);
+        return (node == null) ||  
Authenticate.getInstance().getUserProvider().isValid(node);
     }
 
 
@@ -117,7 +117,8 @@
                 log.service("Node was invalidated!");
                 node = null; // invalidate
             } else if (ne.getType() == Event.TYPE_CHANGE) {
-                node = Users.getBuilder().getNode(ne.getNodeNumber());
+                MMObjectBuilder users = 
Authenticate.getInstance().getUserProvider().getUserBuilder();
+                node = users.getNode(ne.getNodeNumber());
             }
         }
     }
@@ -132,7 +133,8 @@
             org.mmbase.util.ThreadPools.jobsExecutor.execute(new Runnable() {
                     public void run() {
                         
org.mmbase.bridge.LocalContext.getCloudContext().assertUp();
-                        node = Users.getBuilder().getNode(number);
+                        MMObjectBuilder users = 
Authenticate.getInstance().getUserProvider().getUserBuilder();
+                        node = users.getNode(number);
                     }
                 });
         }
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to