keycloak-uncached
Changes
forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/users.js 11(+11 -0)
Details
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/users.js b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/users.js
index 95b1f51..cbd57d9 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/users.js
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/users.js
@@ -445,8 +445,11 @@ module.controller('LDAPCtrl', function($scope, $location, Notifications, Dialog,
$scope.instance.config = {};
$scope.instance.priority = 0;
$scope.syncRegistrations = false;
+ $scope.userAccountControlsAfterPasswordUpdate = true;
+ $scope.instance.config.userAccountControlsAfterPasswordUpdate = true;
} else {
$scope.syncRegistrations = instance.config.syncRegistrations && instance.config.syncRegistrations == "true";
+ $scope.userAccountControlsAfterPasswordUpdate = instance.config.userAccountControlsAfterPasswordUpdate && instance.config.userAccountControlsAfterPasswordUpdate == "true";
}
$scope.ldapVendors = [
@@ -474,6 +477,14 @@ module.controller('LDAPCtrl', function($scope, $location, Notifications, Dialog,
}
})
+ $scope.$watch('userAccountControlsAfterPasswordUpdate', function() {
+ if ($scope.userAccountControlsAfterPasswordUpdate) {
+ $scope.instance.config.userAccountControlsAfterPasswordUpdate = "true";
+ } else {
+ $scope.instance.config.userAccountControlsAfterPasswordUpdate = "false";
+ }
+ })
+
$scope.$watch('instance', function() {
if (!angular.equals($scope.instance, instance)) {
$scope.changed = true;
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/federated-ldap.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/federated-ldap.html
index 1be350b..3d5bc52 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/federated-ldap.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/federated-ldap.html
@@ -116,6 +116,12 @@
<a class="btn btn-primary" data-ng-click="testAuthentication()">Test authentication</a>
</div>
</div>
+ <div class="form-group clearfix" data-ng-show="instance.config.vendor === 'ad' ">
+ <label class="col-sm-2 control-label" for="userAccountControlsAfterPasswordUpdate">Enable Account After Password Update</label>
+ <div class="col-sm-4">
+ <input ng-model="userAccountControlsAfterPasswordUpdate" name="userAccountControlsAfterPasswordUpdate" id="userAccountControlsAfterPasswordUpdate" onoffswitch />
+ </div>
+ </div>
</fieldset>
<div class="pull-right form-actions" data-ng-show="create && access.manageUsers">
diff --git a/picketlink/keycloak-picketlink-ldap/src/main/java/org/keycloak/picketlink/idm/KeycloakEventBridge.java b/picketlink/keycloak-picketlink-ldap/src/main/java/org/keycloak/picketlink/idm/KeycloakEventBridge.java
index 90a221e..b17e369 100644
--- a/picketlink/keycloak-picketlink-ldap/src/main/java/org/keycloak/picketlink/idm/KeycloakEventBridge.java
+++ b/picketlink/keycloak-picketlink-ldap/src/main/java/org/keycloak/picketlink/idm/KeycloakEventBridge.java
@@ -26,6 +26,9 @@ public class KeycloakEventBridge implements EventBridge {
public KeycloakEventBridge(boolean updateUserAccountAfterPasswordUpdate) {
this.updateUserAccountAfterPasswordUpdate = updateUserAccountAfterPasswordUpdate;
+ if (updateUserAccountAfterPasswordUpdate) {
+ logger.info("userAccountControl attribute will be updated in Active Directory after user registration");
+ }
}
@Override