【发布时间】:2015-10-08 09:08:54
【问题描述】:
如何覆盖 AEM6 SP2 中的弱密码策略并为管理员和非管理员编辑器强制执行自定义严格密码策略?
【问题讨论】:
标签: content-management-system adobe aem
如何覆盖 AEM6 SP2 中的弱密码策略并为管理员和非管理员编辑器强制执行自定义严格密码策略?
【问题讨论】:
标签: content-management-system adobe aem
Sreekanth 在博客文章“AEM 61 - 触摸 UI 添加简单密码策略”中写道 你可以在这里找到它: http://experience-aem.blogspot.de/2015/09/aem-61-touch-ui-add-simple-password-policy.html
(function ($, $document) {
var ADMIN_PASSWORD_DIV = "#admin_password",
FIELD_CHANGE_PASSWORD = ".change-user-password", // change password form
FIELD_NEW_USER_PASSWORD = ".user-password-fields", //new user form
BUTTON_OK = ".user-admin-change-password", // change password form
BUTTON_SAVE = ".user-admin-save-user", //new user form
RE_TYPE_PASSWORD_FIELD = "[name='rep:re-password']";
var $policyText = $("<div/>").css('padding-bottom', '10px')
.css('font-style', 'italic')
.css('text-align', 'center')
.html('New Password must contain a number');
$(ADMIN_PASSWORD_DIV).find(".coral-Modal-body")
.prepend($policyText);
$(ADMIN_PASSWORD_DIV).find(RE_TYPE_PASSWORD_FIELD).focusout(focusHandler);
$(FIELD_NEW_USER_PASSWORD).find(RE_TYPE_PASSWORD_FIELD).focusout(focusHandler);
//change password form
$document.on("keyup", FIELD_CHANGE_PASSWORD, function(){
keyHandler($(FIELD_CHANGE_PASSWORD));
});
//new user form
$document.on("keyup.user-admin change.user-admin selected.user-admin", ".save-button-enabler", function(){
keyHandler( $(FIELD_NEW_USER_PASSWORD).find("[type=password]"));
});
function keyHandler($fields){
if(!$fields || $fields.length != 2){
return;
}
var one = $($fields[0]).val(), two = $($fields[1]).val();
if(isValidPassword(one) && isValidPassword(two) && (one == two)){
return;
}
$(BUTTON_OK).attr("disabled", "disabled"); // change password form
$(BUTTON_SAVE).attr("disabled", "disabled"); //new user form
}
function focusHandler(event){
clearErrors();
var val = $(event.currentTarget).val();
if(isValidPassword(val)){
return;
}
var message = "Password must contain a number";
showErrorAlert(message);
}
function clearErrors(){
$(BUTTON_OK).removeAttr("disabled"); // change password form
$(BUTTON_SAVE).removeAttr("disabled"); //new user form
}
function isValidPassword(text){
if(!text){
return true;
}
//check for number in text
return /\d/.test(text);
}
function showErrorAlert(message, title){
var fui = $(window).adaptTo("foundation-ui"),
options = [{
text: "OK",
warning: true
}];
title = title || "Error";
fui.prompt(title, message, "notice", options);
$(BUTTON_OK).attr("disabled", "disabled"); // change password form
$(BUTTON_SAVE).attr("disabled", "disabled"); //new user form
}})(jQuery, jQuery(document));
【讨论】: