You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2015/03/10 10:17:01 UTC

svn commit: r1665421 - /directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/

Author: elecharny
Date: Tue Mar 10 09:17:01 2015
New Revision: 1665421

URL: http://svn.apache.org/r1665421
Log:
o Adding some Javadoc
o Adding the pwdMin/MaxDelay fields

Modified:
    directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java
    directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesMasterDetailsBlock.java
    directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesPage.java
    directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyDetailsPage.java

Modified: directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java?rev=1665421&r1=1665420&r2=1665421&view=diff
==============================================================================
--- directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java (original)
+++ directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java Tue Mar 10 09:17:01 2015
@@ -2036,6 +2036,9 @@ public class LdapLdapsServersPage extend
                     setText( authMechNtlmText, saslMechHandler.getNtlmMechProvider() );
                 }
             }
+            
+            // Delegating authentication
+            // TODO
 
             // Limits
             setText( maxTimeLimitText, Integer.toString( ldapServerBean.getLdapServerMaxTimeLimit() ) );

Modified: directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesMasterDetailsBlock.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesMasterDetailsBlock.java?rev=1665421&r1=1665420&r2=1665421&view=diff
==============================================================================
--- directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesMasterDetailsBlock.java (original)
+++ directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesMasterDetailsBlock.java Tue Mar 10 09:17:01 2015
@@ -55,6 +55,59 @@ import org.eclipse.ui.forms.widgets.Sect
 /**
  * This class represents the Password Policies Master/Details Block used in the Password Policies Page.
  *
+ * <pre>
+ * +------------------------------------------------------------------------------------+
+ * | .----------------------------------. .-------------------------------------------. |
+ * | | All password Policies            | | Password Policy Details                   | |
+ * | +----------------------------------+ +-------------------------------------------+ |
+ * | | +---------------------+          | | Set the properties of the password Policy | |
+ * | | | Default (enabled)   | [ Add  ] | |  [X] Enabled                              | |
+ * | | |                     | [Delete] | |  ID :          [//////////]               | |
+ * | | |                     |          | |  Description : [////////////////////////] | |
+ * | | |                     |          | |  Attribute   : [////////////////////////] | |
+ * | | |                     |          | .-------------------------------------------. |
+ * | | |                     |          | | Quality                                   | |
+ * | | |                     |          | +-------------------------------------------+ |
+ * | | |                     |          | | Check quality : [=======================] | |
+ * | | |                     |          | | Validator :     [///////////////////////] | |
+ * | | |                     |          | | [X] Enable Minimum Length                 | |
+ * | | |                     |          | |   Number of chars : [NNN]                 | |
+ * | | |                     |          | | [X] Enable Maximum Length                 | |
+ * | | |                     |          | |   Number of chars : [NNN]                 | |
+ * | | |                     |          | .-------------------------------------------. |
+ * | | |                     |          | | Expiration                                | |
+ * | | |                     |          | +-------------------------------------------+ |
+ * | | |                     |          | | Minimum age (seconds): [NNN]              | |
+ * | | |                     |          | | Maximum age (seconds): [NNN]              | |
+ * | | |                     |          | | [X] Enable Expire Warning                 | |
+ * | | |                     |          | |   Number of seconds  : [NNN]              | |
+ * | | |                     |          | | [X] Enable Grace Authentication Limit     | |
+ * | | |                     |          | |   Number of times    : [NNN]              | |
+ * | | |                     |          | | [X] Enable Grace Expire                   | |
+ * | | |                     |          | |   Interval (seconds) : [NNN]              | |
+ * | | |                     |          | .-------------------------------------------. |
+ * | | |                     |          | | Options                                   | |
+ * | | |                     |          | +-------------------------------------------+ |
+ * | | |                     |          | | [X] Enable Must Change                    | |
+ * | | |                     |          | | [X] Enable Allow User Change              | |
+ * | | |                     |          | | [X] Enable Safe Modify                    | |
+ * | | |                     |          | .-------------------------------------------. |
+ * | | |                     |          | | Lockout                                   | |
+ * | | |                     |          | +-------------------------------------------+ |
+ * | | |                     |          | | [X] Enable Lockout                        | |
+ * | | |                     |          | |   Lockout duration (seconds)   : [NNN]    | |
+ * | | |                     |          | |   Maximum Consecutive Failures : [NNN]    | |
+ * | | |                     |          | |   Failure Count Interval       : [NNN]    | |
+ * | | |                     |          | | [X] Enable Maximum Idle                   | |
+ * | | |                     |          | |   Intervals                    : [NNN]    | |
+ * | | |                     |          | | [X] Enable In History                     | |
+ * | | |                     |          | |   Used passwords stored in Hist: [NNN]    | |
+ * | | |                     |          | | [X] Delay                                 | |
+ * | | |                     |          | |   Minimum delay (seconds)      : [NNN]    | |
+ * | | +---------------------+          | |   Maximum delay (seconds)      : [NNN]    | |
+ * | +----------------------------------+ +-------------------------------------------+ |
+ * +------------------------------------------------------------------------------------+
+ * </pre>
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
 public class PasswordPoliciesMasterDetailsBlock extends MasterDetailsBlock
@@ -78,8 +131,7 @@ public class PasswordPoliciesMasterDetai
     /**
      * Creates a new instance of PasswordPoliciesMasterDetailsBlock.
      *
-     * @param page
-     *      the associated page
+     * @param page the associated page
      */
     public PasswordPoliciesMasterDetailsBlock( PasswordPoliciesPage page )
     {
@@ -181,6 +233,7 @@ public class PasswordPoliciesMasterDetai
                 return super.getImage( element );
             }
         } );
+        
         viewer.setComparator( new ViewerComparator()
         {
             public int compare( Viewer viewer, Object e1, Object e2 )

Modified: directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesPage.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesPage.java?rev=1665421&r1=1665420&r2=1665421&view=diff
==============================================================================
--- directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesPage.java (original)
+++ directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesPage.java Tue Mar 10 09:17:01 2015
@@ -20,6 +20,7 @@
 package org.apache.directory.studio.apacheds.configuration.v2.editor;
 
 
+import org.apache.directory.api.ldap.model.constants.SchemaConstants;
 import org.apache.directory.server.config.beans.AuthenticationInterceptorBean;
 import org.apache.directory.server.config.beans.DirectoryServiceBean;
 import org.apache.directory.server.config.beans.InterceptorBean;
@@ -29,17 +30,25 @@ import org.eclipse.ui.forms.widgets.Form
 
 
 /**
- * This class represents the General Page of the Server Configuration Editor.
+ * This class represents the PasswordPolicy Page of the Server Configuration Editor. It has 
+ * two parts :
+ * <ul>
+ * <li>The list of existing password policies</li>
+ * <li>The detail for each selected password policy</li>
+ * </ul>
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
 public class PasswordPoliciesPage extends ServerConfigurationEditorPage
 {
+    /** The authentication interceptor name */
     private static final String AUTHENTICATION_INTERCEPTOR_ID = "authenticationInterceptor";
+    
+    /** Default name for the passwordPolicy */
     private static final String PASSWORD_POLICY_ID_DEFAULT = "default";
-
+    
     /** The Page ID*/
-    public static final String ID = PasswordPoliciesPage.class.getName(); //$NON-NLS-1$
+    public static final String ID = PasswordPoliciesPage.class.getName(); 
 
     /** The Page Title */
     private static final String TITLE = Messages.getString( "PasswordPoliciesPage.PasswordPolicies" ); //$NON-NLS-1$
@@ -51,8 +60,7 @@ public class PasswordPoliciesPage extend
     /**
      * Creates a new instance of GeneralPage.
      *
-     * @param editor
-     *      the associated editor
+     * @param editor the associated editor
      */
     public PasswordPoliciesPage( ServerConfigurationEditor editor )
     {
@@ -177,22 +185,22 @@ public class PasswordPoliciesPage extend
 
             // Configuring the password policy
             passwordPolicy.setPwdId( PASSWORD_POLICY_ID_DEFAULT );
+            passwordPolicy.setPwdAttribute( SchemaConstants.USER_PASSWORD_AT );
+            passwordPolicy.setPwdMinAge( 0 );
             passwordPolicy.setPwdMaxAge( 0 );
-            passwordPolicy.setPwdFailureCountInterval( 30 );
-            passwordPolicy.setPwdAttribute( "userPassword" );
-            passwordPolicy.setPwdMaxFailure( 5 );
-            passwordPolicy.setPwdLockout( true );
-            passwordPolicy.setPwdMustChange( false );
-            passwordPolicy.setPwdLockoutDuration( 0 );
-            passwordPolicy.setPwdMinLength( 5 );
             passwordPolicy.setPwdInHistory( 5 );
-            passwordPolicy.setPwdExpireWarning( 600 );
-            passwordPolicy.setPwdMinAge( 0 );
-            passwordPolicy.setPwdAllowUserChange( true );
-            passwordPolicy.setPwdGraceAuthNLimit( 5 );
             passwordPolicy.setPwdCheckQuality( 1 );
+            passwordPolicy.setPwdMinLength( 5 );
             passwordPolicy.setPwdMaxLength( 0 );
+            passwordPolicy.setPwdExpireWarning( 600 );
+            passwordPolicy.setPwdGraceAuthNLimit( 5 );
             passwordPolicy.setPwdGraceExpire( 0 );
+            passwordPolicy.setPwdLockout( true );
+            passwordPolicy.setPwdLockoutDuration( 0 );
+            passwordPolicy.setPwdMaxFailure( 5 );
+            passwordPolicy.setPwdFailureCountInterval( 30 );
+            passwordPolicy.setPwdMustChange( false );
+            passwordPolicy.setPwdAllowUserChange( true );
             passwordPolicy.setPwdMinDelay( 0 );
             passwordPolicy.setPwdMaxDelay( 0 );
             passwordPolicy.setPwdMaxIdle( 0 );

Modified: directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyDetailsPage.java?rev=1665421&r1=1665420&r2=1665421&view=diff
==============================================================================
--- directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyDetailsPage.java (original)
+++ directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyDetailsPage.java Tue Mar 10 09:17:01 2015
@@ -52,6 +52,58 @@ import org.eclipse.ui.forms.widgets.Tabl
 
 /**
  * This class represents the Details Page of the Server Configuration Editor for the Password Policy type
+ * 
+ * <pre>
+ * .-------------------------------------------.
+ * | Password Policy Details                   |
+ * +-------------------------------------------+
+ * | Set the properties of the password Policy |
+ * |  [X] Enabled                              |
+ * |  ID :          [//////////]               |
+ * |  Description : [////////////////////////] |
+ * |  Attribute   : [////////////////////////] |
+ * .-------------------------------------------.
+ * | Quality                                   |
+ * +-------------------------------------------+
+ * | Check quality : [=======================] |
+ * | Validator :     [///////////////////////] |
+ * | [X] Enable Minimum Length                 |
+ * |   Number of chars : [NNN]                 |
+ * | [X] Enable Maximum Length                 |
+ * |   Number of chars : [NNN]                 |
+ * .-------------------------------------------.
+ * | Expiration                                |
+ * +-------------------------------------------+
+ * | Minimum age (seconds): [NNN]              |
+ * | Maximum age (seconds): [NNN]              |
+ * | [X] Enable Expire Warning                 |
+ * |   Number of seconds  : [NNN]              |
+ * | [X] Enable Grace Authentication Limit     |
+ * |   Number of times    : [NNN]              |
+ * | [X] Enable Grace Expire                   |
+ * |   Interval (seconds) : [NNN]              |
+ * .-------------------------------------------.
+ * | Options                                   |
+ * +-------------------------------------------+
+ * | [X] Enable Must Change                    |
+ * | [X] Enable Allow User Change              |
+ * | [X] Enable Safe Modify                    |
+ * .-------------------------------------------.
+ * | Lockout                                   |
+ * +-------------------------------------------+
+ * | [X] Enable Lockout                        |
+ * |   Lockout duration (seconds)   : [NNN]    |
+ * |   Maximum Consecutive Failures : [NNN]    |
+ * |   Failure Count Interval       : [NNN]    |
+ * | [X] Enable Maximum Idle                   |
+ * |   Intervals                    : [NNN]    |
+ * | [X] Enable In History                     |
+ * |   Used passwords stored in Hist: [NNN]    |
+ * | [X] Delay                                 |
+ * |   Minimum delay (seconds)      : [NNN]    |
+ * |   Maximum delay (seconds)      : [NNN]    |
+ * +-------------------------------------------+
+ * </pre>
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
@@ -95,6 +147,8 @@ public class PasswordPolicyDetailsPage i
     private Text inHistoryText;
     private Button maxIdleCheckbox;
     private Text maxIdleText;
+    private Text minimumDelayText;
+    private Text maximumDelayText;
 
     // Listeners
     /** The Text Modify Listener */
@@ -269,6 +323,9 @@ public class PasswordPolicyDetailsPage i
         layout.bottomMargin = 2;
         parent.setLayout( layout );
 
+        // Depending on if the PP is enabled or disabled, we will
+        // expose the configuration
+        
         createDetailsSection( toolkit, parent );
         createQualitySection( toolkit, parent );
         createExpirationSection( toolkit, parent );
@@ -297,6 +354,7 @@ public class PasswordPolicyDetailsPage i
         section.setLayoutData( td );
         Composite client = toolkit.createComposite( section );
         toolkit.paintBordersFor( client );
+        
         GridLayout glayout = new GridLayout( 2, false );
         client.setLayout( glayout );
         section.setClient( client );
@@ -522,6 +580,16 @@ public class PasswordPolicyDetailsPage i
             "Used passwords stored in history:" );
         inHistoryText = toolkit.createText( inHistoryRadioIndentComposite, "" );
         inHistoryText.setLayoutData( new GridData( SWT.FILL, SWT.CENTER, true, false ) );
+        
+        // Minimum delay (pwdMinDelay)
+        toolkit.createLabel( composite, "Mimimum Delay (seconds):" );
+        minimumDelayText = toolkit.createText( composite, "" );
+        minimumDelayText.setLayoutData( new GridData( SWT.FILL, SWT.CENTER, true, false ) );
+
+        // Maximum Delay (pwdMaxDelay)
+        toolkit.createLabel( composite, "Maximum Delay (seconds):" );
+        maximumDelayText = toolkit.createText( composite, "" );
+        maximumDelayText.setLayoutData( new GridData( SWT.FILL, SWT.CENTER, true, false ) );
     }
 
 
@@ -600,6 +668,10 @@ public class PasswordPolicyDetailsPage i
         inHistoryCheckbox.addSelectionListener( inHistoryCheckboxSelectionListener );
         inHistoryText.addModifyListener( textModifyListener );
         inHistoryText.addVerifyListener( integerVerifyListener );
+        minimumDelayText.addModifyListener( textModifyListener );
+        minimumDelayText.addVerifyListener( integerVerifyListener );
+        maximumDelayText.addModifyListener( textModifyListener );
+        maximumDelayText.addVerifyListener( integerVerifyListener );
     }
 
 
@@ -656,6 +728,10 @@ public class PasswordPolicyDetailsPage i
         inHistoryCheckbox.removeSelectionListener( inHistoryCheckboxSelectionListener );
         inHistoryText.removeModifyListener( textModifyListener );
         inHistoryText.removeVerifyListener( integerVerifyListener );
+        minimumDelayText.removeModifyListener( textModifyListener );
+        minimumDelayText.removeVerifyListener( integerVerifyListener );
+        maximumDelayText.removeModifyListener( textModifyListener );
+        maximumDelayText.removeVerifyListener( integerVerifyListener );
     }
 
 
@@ -881,6 +957,26 @@ public class PasswordPolicyDetailsPage i
             {
                 passwordPolicy.setPwdInHistory( 0 );
             }
+
+            // Minimum Delay
+            try
+            {
+                passwordPolicy.setPwdMinDelay( Integer.parseInt( minimumDelayText.getText() ) );
+            }
+            catch ( NumberFormatException e )
+            {
+                passwordPolicy.setPwdMinDelay( 0 );
+            }
+
+            // Maximum Delay
+            try
+            {
+                passwordPolicy.setPwdMaxDelay( Integer.parseInt( maximumDelayText.getText() ) );
+            }
+            catch ( NumberFormatException e )
+            {
+                passwordPolicy.setPwdMaxDelay( 0 );
+            }
         }
     }
 
@@ -1051,6 +1147,12 @@ public class PasswordPolicyDetailsPage i
             inHistoryCheckbox.setSelection( inHistory != 0 );
             inHistoryText.setText( "" + inHistory );
             inHistoryText.setEnabled( inHistory != 0 );
+
+            // Minimum Delay
+            minimumDelayText.setText( "" + passwordPolicy.getPwdMinDelay() );
+
+            // Maximum Delay
+            maximumDelayText.setText( "" + passwordPolicy.getPwdMaxDelay() );
         }
 
         addListeners();