You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2022/04/14 06:40:21 UTC

[syncope] branch master updated: Upgrading CAS

This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new 7e30efe6fa Upgrading CAS
7e30efe6fa is described below

commit 7e30efe6fa72329ae4c95ba5315a74c917a5c4fc
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Thu Apr 14 08:37:55 2022 +0200

    Upgrading CAS
---
 .../core/persistence/jpa/dao/JPAUserDAO.java       | 22 ++++++++--------------
 .../spring/security/DefaultPasswordGenerator.java  |  4 ++++
 pom.xml                                            |  2 +-
 3 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
index 0fe9baeb6b..244cc3fcb0 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
@@ -274,23 +274,17 @@ public class JPAUserDAO extends AbstractAnyDAO<User> implements UserDAO {
     protected List<PasswordPolicy> getPasswordPolicies(final User user) {
         List<PasswordPolicy> policies = new ArrayList<>();
 
-        PasswordPolicy policy;
-
         // add resource policies
-        for (ExternalResource resource : findAllResources(user)) {
-            policy = resource.getPasswordPolicy();
-            if (policy != null) {
-                policies.add(policy);
-            }
-        }
+        findAllResources(user).
+                forEach(resource -> Optional.ofNullable(resource.getPasswordPolicy()).
+                filter(p -> !policies.contains(p)).
+                ifPresent(policies::add));
 
         // add realm policies
-        for (Realm realm : realmDAO.findAncestors(user.getRealm())) {
-            policy = realm.getPasswordPolicy();
-            if (policy != null) {
-                policies.add(policy);
-            }
-        }
+        realmDAO.findAncestors(user.getRealm()).
+                forEach(realm -> Optional.ofNullable(realm.getPasswordPolicy()).
+                filter(p -> !policies.contains(p)).
+                ifPresent(policies::add));
 
         return policies;
     }
diff --git a/core/spring/src/main/java/org/apache/syncope/core/spring/security/DefaultPasswordGenerator.java b/core/spring/src/main/java/org/apache/syncope/core/spring/security/DefaultPasswordGenerator.java
index b82e80c50b..6eb64c69ed 100644
--- a/core/spring/src/main/java/org/apache/syncope/core/spring/security/DefaultPasswordGenerator.java
+++ b/core/spring/src/main/java/org/apache/syncope/core/spring/security/DefaultPasswordGenerator.java
@@ -93,6 +93,10 @@ public class DefaultPasswordGenerator implements PasswordGenerator {
                 result.setMaxLength(ruleConf.getMaxLength());
             }
 
+            if (ruleConf.getAlphabetical() > result.getAlphabetical()) {
+                result.setAlphabetical(ruleConf.getAlphabetical());
+            }
+
             if (ruleConf.getUppercase() > result.getUppercase()) {
                 result.setUppercase(ruleConf.getUppercase());
             }
diff --git a/pom.xml b/pom.xml
index 4ea88dbd8b..67e4ae9032 100644
--- a/pom.xml
+++ b/pom.xml
@@ -446,7 +446,7 @@ under the License.
 
     <pac4j.version>5.3.1</pac4j.version>
 
-    <cas.version>6.5.2</cas.version>
+    <cas.version>6.5.3</cas.version>
     <cas-client.version>3.6.4</cas-client.version>
 
     <h2.version>2.1.212</h2.version>