Related Topics
                                                        
                                                    Password enforcement settings variables are only for users using the Compliance or Cloud versions, and are set in the custom vars file to enforce password strength/security.

 ForcePwdChangeEvery
ForcePwdChangeEvery
                                                        This is an integer value that the number of days to elapse before requiring users to change their passwords.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Number of days before password change is required
    bp.Vars.ForcePwdChangeEvery = 30;
}

 ForgotPasswordRedirectURL
ForgotPasswordRedirectURL
                                                        This variable enables you to set the redirect URL to which the user will be referred when the "I forgot my password" link is selected.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Redirect for forgatten password
    bp.Vars.ForgotPasswordRedirectURL = "https://some.url/somePage.htm";
}

 fUnlockAcctOnPasswordReset
fUnlockAcctOnPasswordReset
                                                        This variable, when set to true, will automatically unlock a locked user account when they perform a password reset. The default value for this variable is false.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Unlock account on user password reset
    bp.Vars.fUnlockAcctOnPasswordReset = true;
}

 LoginFailuresUntilLock
LoginFailuresUntilLock
                                                        This is an integer value that sets the number of allowed login failures until the account is locked.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Number of allowed login attempts
    bp.Vars.LoginFailuresUntilLock = 3;
}

 NotifyPwdChangeDays
NotifyPwdChangeDays
                                                        This variable enables you to set the number of days prior to password expiration to notify the user that a built-in account password is set to expire.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Notify users 3 days before their password expires
    bp.Vars.NotifyPwdChangeDays = 3;
}

 PasswordResetRedirectURL
PasswordResetRedirectURL
                                                        This variable enables you to set the redirect URL to which the user will be referred after a password reset.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Redirect users to this page after a password reset
    bp.Vars.PasswordResetRedirectURL = "https://www.SomeURL.Com/SomePage.htm";
}

 PwdMinLength
PwdMinLength
                                                        This is an integer value that sets the minimum length of the Password.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Minimum number of password characters
    bp.Vars.PwdMinLength = 10;
}

 PwdMinLetters
PwdMinLetters
                                                        This is an integer value that sets the minimum number of letter characters required.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Minimum number of password letter characters required
    bp.Vars.PwdMinLetters = 1;
}

 PwdMinLower
PwdMinLower
                                                        This is an integer value that sets the minimum number of lower case characters required.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Minimum number of password lower-case letter characters required
    bp.Vars.PwdMinLower = 1;
}

 PwdMinUpper
PwdMinUpper
                                                        This is an integer value that sets the minimum number of upper case characters required.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Minimum number of password upper-case letter characters required
    bp.Vars.PwdMinUpper = 10;
}

 PwdMinNumbers
PwdMinNumbers
                                                        This is an integer value that sets the minimum number of numeric characters required.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Minimum number of password numeric characters required
    bp.Vars.PwdMinNumbers = 1;
}

 PwdMinSymbols
PwdMinSymbols
                                                        This is an integer value that sets the minimum number of symbol or special characters required. Any special character is allowed.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Minimum number of password special characters required
    bp.Vars.PwdMinSymbols= 1;
}

 PwdNoReuseDays
PwdNoReuseDays
                                                        This is an integer value that sets the minimum number of days that must elapse before a password can be reused.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // can't reuse a password in this many days
    bp.Vars.PwdNoReuseDays = 365;
}

 PwdNoReuseNumTimes
PwdNoReuseNumTimes
                                                        This is an integer value that sets the minimum number of password changes that must elapse before a password can be reused.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // can't reuse a password in this many changes
    bp.Vars.PwdNoReuseNumTimes = 10;
}

 PwdStrength
PwdStrength
                                                        This variable enables you set a password strength for user passwords. The default value is "PasswordStrength.Low" which doesn't implement any password enforcement for user accounts. You can set the following custom password strengths:
PasswordStrength.Low: Requires that the password be at least 4 characters in length.
PasswordStrength.Medium: Requires that the password be at least 8 characters in length, and contain at least one letter and one number.
PasswordStrength.High: Requires that the password be at least 10 characters in length, and contain at least one number, one upper case letter, one lower case letter, and one symbol character.
PasswordStrength.Custom: Enables you to set a custom password strength using the variables discussed in this topic.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // Set the required password strength
    bp.Vars.PwdStrength = PasswordStrength.High;
}

 PwdStrengthMessage
PwdStrengthMessage
                                                        This variable enables you set a string displayed to the users when they change their password (for built-in users only). This string can be used, for example, to inform users of password strength requirements.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // This will set a message to display to users changing their
    // passwords
    bp.Vars.PwdStrengthMessage = "Passwords must be a minimum of 8 
     characters and have at least one number”;
}
Setting Custom Password Enforcement Variables
To set a custom password strength in the custom variables file (vars.cs), you must first set the Password Strength to custom, then add the specific password strength variables that you desire. Below is some sample code for setting a custom password strength.
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
    // This will set a custom password strength
    bp.Vars.PwdStrength = PasswordStrength.Custom;
    bp.Vars.ForcePwdChangeEvery = 90;
    bp.Vars.LoginFailuresUntilLock = 5;
    bp.Vars.PwdMinLength = 8;
    bp.Vars.PwdMinLower = 1;
    bp.Vars.PwdMinUpper = 1;
    bp.Vars.PwdMinNumbers = 1;
    bp.Vars.PwdMinSymbols= 1;
    bp.Vars.PwdStrengthMessage = "Password must be at least 8 characters,
     and must have an upper case letter, a lower case letter, a 
     number, and a special character. EXAMPLE: m0squiTo!";
}
Documentation Feedback and Questions
If you notice some way that this document can be improved, we're happy to hear your suggestions. Similarly, if you can't find an answer you're looking for, ask it via feedback. Simply click on the button below to provide us with your feedback or ask a question. Please remember, though, that not every issue can be addressed through documentation. So, if you have a specific technical issue with Process Director, please open a support ticket.



