svn commit: r528719 - in /ofbiz/trunk/framework: security/entitydef/entitymodel.xml webapp/src/org/ofbiz/webapp/control/LoginWorker.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r528719 - in /ofbiz/trunk/framework: security/entitydef/entitymodel.xml webapp/src/org/ofbiz/webapp/control/LoginWorker.java

jaz-3
Author: jaz
Date: Fri Apr 13 17:36:42 2007
New Revision: 528719

URL: http://svn.apache.org/viewvc?view=rev&rev=528719
Log:
changed x509 code to looked certs in the database by serialnumber instead of trying to query the clob

Modified:
    ofbiz/trunk/framework/security/entitydef/entitymodel.xml
    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java

Modified: ofbiz/trunk/framework/security/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/security/entitydef/entitymodel.xml?view=diff&rev=528719&r1=528718&r2=528719
==============================================================================
--- ofbiz/trunk/framework/security/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/framework/security/entitydef/entitymodel.xml Fri Apr 13 17:36:42 2007
@@ -54,7 +54,8 @@
       <field name="lastLocale" type="very-short"></field>
       <field name="disabledDateTime" type="date-time"></field>
       <field name="successiveFailedLogins" type="numeric"></field>
-      <field name="x509Cert" type="very-long"></field>
+      <field name="x509CertKey" type="very-long"></field>
+      <field name="x509CertSn" type="long-varchar"></field>
         <prim-key field="userLoginId"/>
     </entity>
     <entity entity-name="UserLoginHistory"

Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java?view=diff&rev=528719&r1=528718&r2=528719
==============================================================================
--- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java (original)
+++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java Fri Apr 13 17:36:42 2007
@@ -533,10 +533,11 @@
 
             if (clientCerts != null) {
                 for (int i = 0; i < clientCerts.length; i++) {
-                    String certHex = StringUtil.toHexString(clientCerts[i].getPublicKey().getEncoded());
+                    String certKeyHex = StringUtil.toHexString(clientCerts[i].getPublicKey().getEncoded());
+                    String certSn = clientCerts[i].getSerialNumber().toString(16);
                     List userLogins = null;
                     try {
-                        userLogins = delegator.findByAnd("UserLogin", UtilMisc.toMap("x509Cert", certHex));
+                        userLogins = delegator.findByAnd("UserLogin", UtilMisc.toMap("x509CertSn", certSn));
                     } catch (GenericEntityException e) {
                         Debug.logError(e, module);
                     }
@@ -545,9 +546,10 @@
                         Iterator it = userLogins.iterator();
                         while (it.hasNext()) {
                             GenericValue ul = (GenericValue) it.next();
+                            String certKey = ul.getString("x509CertKey");
                             String enabled = ul.getString("enabled");
 
-                            if (enabled == null || "Y".equals(enabled)) {
+                            if ((enabled == null || "Y".equals(enabled)) && certKey.equals(certKeyHex)) {
                                 ul.set("hasLoggedOut", "N");
                                 try {
                                     ul.store();