1) How are Password Policies executed when they have the same priority? Based on testing, it appears to be either random or indefinite.
2) When the checkbox to apply lower priority policies is checked, what actually takes place?
One would expect the restrictions for both to apply, or perhaps the restrictions of the most stringent policy.
However, it appears that only the primary policy is being evaluated.
SiteMinder: ALL versions
Answer 1: When Password Policies have the same priority, they are sorted based on the name. Both policies executes if applicable following the order of sort by name.
Answer 2: "Lower priority policies" is checked, policy evaluation continues to lower priorities as well. Please see log example below:
e.g.
[mm/dd/yyyy][hh:mm:ss.170][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:400][CSmPasswordCheck::FindApplicablePasswordPolicies][][][][][][][][][][][][][][][][][][][][][Enter function CSmPasswordCheck::FindApplicablePasswordPolicies]
[mm/dd/yyyy][hh:mm:ss.180][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1915][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][][][][][][][][][Enter function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.180][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1939][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][1][][][][][][][][Leave function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.180][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:475][CSmPasswordCheck::FindApplicablePasswordPolicies][][][][][][][][][][][][][][][][][][][][][Passpolicy applied for the user directory = my_example_user_directory PPname= my_example_Policy_14 priority = 99 ]
...
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:475][CSmPasswordCheck::FindApplicablePasswordPolicies][][][][][][][][][][][][][][][][][][][][][Passpolicy applied for the user directory = my_example_user_directory PPname= my_example_Policy_1 priority = 6 ]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1915][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][][][][][][][][][Enter function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1939][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][1][][][][][][][][Leave function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:475][CSmPasswordCheck::FindApplicablePasswordPolicies][][][][][][][][][][][][][][][][][][][][][Passpolicy applied for the user directory = my_example_user_directory PPname= my_example_PolicyRandom_12 priority = 1 ]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1915][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][][][][][][][][][Enter function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1939][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][1][][][][][][][][Leave function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:475][CSmPasswordCheck::FindApplicablePasswordPolicies][][][][][][][][][][][][][][][][][][][][][Passpolicy applied for the user directory = my_example_user_directory PPname= my_example_passpol1 priority = 0 ]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1915][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][][][][][][][][][Enter function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1939][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][1][][][][][][][][Leave function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:475][CSmPasswordCheck::FindApplicablePasswordPolicies][][][][][][][][][][][][][][][][][][][][][Passpolicy applied for the user directory = my_example_user_directory PPname= my_example_passpol2 priority = 0 ]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1915][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][][][][][][][][][Enter function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:1939][CSmPasswordCheck::DoesPasswordPolicyApply][][][][][][][][][][][][][1][][][][][][][][Leave function CSmPasswordCheck::DoesPasswordPolicyApply]
[mm/dd/yyyy][hh:mm:ss.183][hh:mm:ss][5756][8520][SmPasswordCheck.cpp:475][CSmPasswordCheck::FindApplicablePasswordPolicies][][][][][][][][][][][][][][][][][][][][][Passpolicy applied for the user directory = my_example_user_directory PPname= my_example_passpol3 priority = 0 ]