Author: michiel
Date: 2010-02-03 20:05:58 +0100 (Wed, 03 Feb 2010)
New Revision: 40848

Added:
   didactor/trunk/components/core/src/main/config/log/console.xml
   didactor/trunk/components/core/src/main/resources/nl/
   didactor/trunk/components/core/src/main/resources/nl/didactor/
   
didactor/trunk/components/core/src/main/resources/nl/didactor/security.properties
   
didactor/trunk/components/core/src/main/resources/nl/didactor/security_nl.properties
Modified:
   
didactor/trunk/components/core/src/main/java/nl/didactor/security/Authentication.java
   
didactor/trunk/components/core/src/main/java/nl/didactor/security/plain/PlainSecurityComponent.java
Log:
using   MMB-1924

Added: didactor/trunk/components/core/src/main/config/log/console.xml
===================================================================
--- didactor/trunk/components/core/src/main/config/log/console.xml              
                (rev 0)
+++ didactor/trunk/components/core/src/main/config/log/console.xml      
2010-02-03 19:05:58 UTC (rev 40848)
@@ -0,0 +1,108 @@
+<?xml version="1.0" ?>
+<!--
+
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"
+   [
+    <!ENTITY mmlevel    "org.mmbase.util.logging.log4j.Log4jLevel" >
+]>
+
+<!--
+
+
+-->
+
+<log4j:configuration  debug="false" 
xmlns:log4j="http://jakarta.apache.org/log4j/";
+  >
+
+  <!--
+  The appenders of the default log4j configuration are writing to
+  STDOUT on default.
+  This is problably not what you want, but at least it works always.
+  See in the other examples how to configure a log file.
+  -->
+
+  <appender name="logfile" class="org.apache.log4j.ConsoleAppender" >
+    <param name="Target" value="System.out" />
+    <param name="Encoding"   value="UTF-8" />
+    <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="%d{ISO8601} %-7p %c{4} - %m%n" />
+    </layout>
+    <!-- for debugging, logging memory use, method and line-number is
+    often useful
+    <layout class="org.mmbase.util.logging.log4j.MMPatternLayout">
+      <param name="ConversionPattern" value="%d{ABSOLUTE} %q %k kb %c{4} %M.%L 
- %m%n" />
+    </layout>
+    -->
+  </appender>
+
+  <!--
+  A different appender for 'page' logging. This is writing to stdout now too, 
but probably you want
+  this to go to another file.
+  -->
+  <appender name="pagedebug" class="org.apache.log4j.ConsoleAppender" >
+    <param name="Target" value="System.out" />
+    <param name="Encoding"   value="UTF-8" />
+    <layout class="org.apache.log4j.PatternLayout">
+      <param name="ConversionPattern" value="%d{MM-dd HH:mm:ss} PAGE %-7p 
%c{2} %L - %m%n" />
+    </layout>
+  </appender>
+
+
+  <!--
+  Another example: The sqllog appender can be used for
+  'org.mmbase.QUERIES' (see below), to achieve logging of every SQL
+  query, which is handy during debugging
+   See also config/utils/querylogging.xml for how to configure the relation 
between query duration and logging level.
+  -->
+  <!--
+  <appender name="sqllog" class="org.apache.log4j.FileAppender" >
+    <param name="File" value="/tmp/mmbase-sql.log" />
+    <param name="Encoding"   value="UTF-8" />
+    <layout class="org.apache.log4j.PatternLayout">
+      <param name="ConversionPattern" value="%d{MM-dd HH:mm:ss} %m%n" />
+    </layout>
+  </appender>
+  -->
+  <!-- categories -->
+
+  <!-- 'page logging' goes to a different appender -->
+  <logger name="org.mmbase.PAGE" additivity="false">
+    <level class="&mmlevel;" value ="info" />
+    <appender-ref ref="pagedebug" />
+  </logger>
+
+  <!--
+      If you switch logging on org.mmbase.SERVLETS on debug to on, then 
MMBaseSerlvet keep track of
+      ref-counts, and someimes log that. That way you can keep track off how 
many are running, and
+      whether that is much.
+  -->
+  <!--
+  <logger name="org.mmbase.SERVLETS">
+    <level class="&mmlevel;" value ="debug" />
+  </logger>
+  -->
+
+  <!-- SQL logging -->
+  <!--
+  <logger name="org.mmbase.QUERIES" additivity="false">
+    <level class="&mmlevel;" value ="debug" />
+    <appender-ref ref="sqllog" />
+  </logger>
+  <logger name="org.mmbase.STACK.QUERIES" additivity="false">
+    <level class="&mmlevel;" value ="info" />
+    <appender-ref ref="sqllog" />
+  </logger>
+   -->
+
+
+  <logger name="STDERR">
+    <level class="&mmlevel;" value ="fatal" />
+  </logger>
+
+  <root>
+    <level class="&mmlevel;" value ="info" />
+    <appender-ref ref="logfile" />
+  </root>
+
+</log4j:configuration>

Modified: 
didactor/trunk/components/core/src/main/java/nl/didactor/security/Authentication.java
===================================================================
--- 
didactor/trunk/components/core/src/main/java/nl/didactor/security/Authentication.java
       2010-02-03 19:05:11 UTC (rev 40847)
+++ 
didactor/trunk/components/core/src/main/java/nl/didactor/security/Authentication.java
       2010-02-03 19:05:58 UTC (rev 40848)
@@ -94,19 +94,13 @@
      * @since Didactor-2.3
      */
     protected org.mmbase.security.UserContext 
request(org.mmbase.security.UserContext uc, HttpServletRequest req) {
-        Node n = 
getUserNode(ContextProvider.getDefaultCloudContext().getCloud("mmbase"), 
uc.getIdentifier());
-        req.setAttribute("user", n == null ? "0" : n.getNumber());
-        log.debug("Found user " + (n == null ? "NULL" :  n.getNumber()) + " " 
+ uc);
-        Object education = req.getAttribute("education");
-        if (education != null && n != null) {
-            Function fun = n.getFunction("class");
-            Parameters params = fun.createParameters();
-            params.set("education", Casting.toInt(education));
-            Node claz = (Node) fun.getFunctionValue(params);
-            req.setAttribute("class", claz);
+        try {
+            
req.getSession().setAttribute(nl.didactor.filter.ProviderFilter.getSessionName(),
 (LocalContext.getCloudContext().getCloud("mmbase", uc)));
+            nl.didactor.filter.ProviderFilter.decorateRequest(req, null);
+            return uc;
+        } catch (java.io.IOException io) {
+            throw new RuntimeException(io);
         }
-
-        return uc;
     }
     /**
      * @since Didactor-2.3
@@ -289,7 +283,11 @@
                 }
             } catch (SecurityException se) {
                 HttpSession session = request.getSession(true);
-                session.setAttribute(REASON_KEY, se.getMessage());
+                Locale locale = (Locale) request.getAttribute("locale");
+                if (locale == null) {
+                    locale = 
ContextProvider.getDefaultCloudContext().getDefaultLocale();
+                }
+                session.setAttribute(REASON_KEY, se.getMessage(locale));
                 log.service("For ac " + se.getMessage());
             }
         }
@@ -404,7 +402,8 @@
         return getUserNode(cloud, cloud.getUser().getIdentifier());
 
     }
-    @Override public int getNode(org.mmbase.security.UserContext userContext) 
throws SecurityException {
+    @Override
+    public int getNode(org.mmbase.security.UserContext userContext) throws 
SecurityException {
         if (userContext == null) return -1;
         String id = userContext.getIdentifier();
         Node n = 
getUserNode(ContextProvider.getDefaultCloudContext().getCloud("mmbase", 
"class", null), id);

Modified: 
didactor/trunk/components/core/src/main/java/nl/didactor/security/plain/PlainSecurityComponent.java
===================================================================
--- 
didactor/trunk/components/core/src/main/java/nl/didactor/security/plain/PlainSecurityComponent.java
 2010-02-03 19:05:11 UTC (rev 40847)
+++ 
didactor/trunk/components/core/src/main/java/nl/didactor/security/plain/PlainSecurityComponent.java
 2010-02-03 19:05:58 UTC (rev 40848)
@@ -99,14 +99,14 @@
             log.debug("No user found for " + login);
             user = users.getUser(login);
             if (user == null) {
-                throw new SecurityException("No such user '" + login + "'");
+                throw new SecurityException("nl.didactor.security", 
"nosuchuser", login);
             } else {
-                throw new SecurityException("Wrong password");
+                throw new SecurityException("nl.didactor.security", 
"wrongpassword");
             }
         }
 
         if ("".equals(user.getStringValue("password"))) {
-            throw new SecurityException("User '" + login + "' has an empty 
password");
+            throw new SecurityException("nl.didactor.security", 
"emptypassword", login);
         }
 
         log.debug("Found matching credentials, so user is now logged in.");
@@ -116,7 +116,7 @@
         UserContext uc = new UserContext(user, application);
         if (! uc.getRank().equals(Rank.ADMIN)) {
             if (! user.getBooleanValue("person_status")) {
-                throw new SecurityException("User '" + login + "' is 
disabled");
+                throw new SecurityException("nl.didactor.security", 
"disabled", login);
             }
         }
         return uc;

Added: 
didactor/trunk/components/core/src/main/resources/nl/didactor/security.properties
===================================================================
--- 
didactor/trunk/components/core/src/main/resources/nl/didactor/security.properties
                           (rev 0)
+++ 
didactor/trunk/components/core/src/main/resources/nl/didactor/security.properties
   2010-02-03 19:05:58 UTC (rev 40848)
@@ -0,0 +1,4 @@
+wrongpassword=Wrong password
+nosuchuser=No such user '{0}'
+emptypassword=User '{0}' has an empty password
+disabled=User '{0}' is disabled
\ No newline at end of file

Added: 
didactor/trunk/components/core/src/main/resources/nl/didactor/security_nl.properties
===================================================================
--- 
didactor/trunk/components/core/src/main/resources/nl/didactor/security_nl.properties
                                (rev 0)
+++ 
didactor/trunk/components/core/src/main/resources/nl/didactor/security_nl.properties
        2010-02-03 19:05:58 UTC (rev 40848)
@@ -0,0 +1,4 @@
+wrongpassword=Verkeerd wachtwoord
+nosuchuser=Er is geen gebruiker '{0}'
+emptypassword=De gebruiker '{0}' heeft een leeg wachtwoord
+disabled=De gebruiker '{0}' is niet actief
\ No newline at end of file

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to