СИНТАКСИС
<passwordRestrictions length=”длина пароля” eachCharacterOccurenceMax=”макс. количество вхождений”> <acceptableCharacters>
<characterGroup type=”тип группы 1” customCharacters=”кастомные символы группы 1”/>
…
<characterGroup type=”тип группы N” customCharacters=”кастомные символы группы N”/>
</acceptableCharacters> <characterOccurences>
<characterOccurence anyCharacterOccurenceMin=”мин. количество вхождений из группы 1”>
<characterGroup type="тип группы 1" customCharacters="кастомные символы группы 1"/>
</characterOccurence>
…
<characterOccurence anyCharacterOccurenceMin=”мин. количество вхождений из группы N”>
<characterGroup type="тип группы N" customCharacters="кастомные символы группы N"/>
</characterOccurence>
</characterOccurences> </passwordRestrictions>
ПАРАМЕТРЫ
<passwordRestrictions> Структура задает ограничения и определяет требования к качеству генерируемых паролей для ESSO-приложений.
Атрибуты
length Длина генерируемого пароля в символах.
Если также заданы требования вхождения символов (структура <characterOccurences>), параметр определяет минимальную длину пароля. В этом случае при генерации пароля сначала выполняются требования вхождения символов. Если после выполнения требований вхождения длина сгенерированного пароля окажется больше заданной, пароль будет иметь длину, соответствующую выполненным требованиям вхождения (т.е. пароль не будет обрезан).
Опциональный параметр. Значение по умолчанию: 0
eachCharacterOccurenceMax Максимальное количество вхождений каждого символа (независимо от того, в какую группу символов он входит) в сгенерированный пароль.
Опциональный параметр. Значение по умолчанию: 0
Пример:
<passwordRestrictions length="8" eachCharacterOccurenceMax="2">
...
</passwordRestrictions>
Приведенное описание обозначает, что сгенерированный пароль будет содержать не более двух одинаковых символов (независимо от того, в какую группу символов они входят).
<acceptableCharacters> Структура задает множество допустимых символов для генерации пароля.
Опциональный параметр. Значение по умолчанию: пусто. В этом случае при генерации пароля выполняются следующие условия:
- цифры (0...9); - латинские строчные буквы (a...z); - латинские прописные буквы (A...Z); - специальные символы (`~!@#$%^&*()_-+={}[]\|:;"'<>,.?/,пробел);
<characterGroup> Структура описывает допустимые группы символов, которые могут входить в состав пароля при генерации.
Атрибуты
type Тип группы допустимых символов.
Возможные значения: cgtCustom пользовательская группа символов (группа символов, определяемая пользователем) cgtLatins латинские буквы (A...Z, a…z) cgtLatinsLower латинские строчные буквы (a…z) cgtLatinsUpper латинские прописные буквы (A...Z) cgtDigits цифры (0…9) cgtSpecial неалфавитные символы (` ~ ! @ # $ % ^ & * ( ) _ - + = { } [ ] \ | : ; " '<> , . ? /, пробел и др.) cgtAcceptableByDefault латинские буквы (A...Z, a…z), цифры (0…9), специальные символы (` ~ ! @ # $ % ^ & * ( ) _ - + = { } [ ] \ | : ; " '<> , . ? /, пробел и др.)
Значение по умолчанию (если не задано ни одной группы допустимых символов): cgtAcceptableByDefault.
customCharacters Множество символов пользовательской группы.
Опциональный параметр. Значение по умолчанию: пусто.
Задание атрибута имеет смысл только для пользовательской группы символов, т.е. только в том случае, когда атрибутtype имеет значение cgtCustom:
<characterGroup type="cgtCustom" customCharacters=",.<>/?[]{}=+-_\\|!@#$%^&*() " />
Если тип группы отличается от cgtCustom, значение атрибута при обработке шаблона не учитывается.
Значение атрибута задается в виде строки, в которой перечислены все символы, входящие в пользовательскую группу, при этом необходимо соблюдать следующие правила перечисления пользовательских символов:
Символ Сущность < < > > & & " " ' ' Пример:
<characterGroup type="cgtCustom" customCharacters="!@#$%*() " />
Приведенное описание определяет пользовательскую группу со следующим множеством символов: ,.<>/?[]{}=+-_!@#$%^&*() "
<characterOccurences> Стуктура задает требования вхождения символов в пароль.
Опциональный параметр. Значение по умолчанию: пусто. В этом случае при генерации пароля выполняются следующие условия:
-
длина генерируемого пароля определяется значением атрибута length тега <passwordRestrictions>;
-
если задано множество допустимых символов для генерации пароля (т.е. описана структура<acceptableCharacters>), пароль содержит символы из заданного множества, при этом количество вхождений символов из каждой группы определяется случайным образом.
<characterOccurence> Структура задает требования вхождения в пароль символов заданной группы.
Если для допустимой группы символов требования вхождения в пароль не определены, количество вхождений для символов этой группы определяется случайным образом с учетом заданных требований вхождений для других допустимых групп символов.
Атрибуты
anyCharacterOccurenceMin Минимальное число вхождений символов из заданной группы в генеририуемый пароль.
Пример:
<characterOccurences>
<characterOccurence anyCharacterOccurenceMin="3">
<characterGroup type="cgtLatinsLower" />
</characterOccurence>
...
</characterOccurences>
Приведенное описание обозначает, что сгенерированный пароль должен содержать не менее трех латинских строчных букв.
ПРИМЕРЫ
Пример 1
Пример демонстрирует:
-
определение групп допустимых символов для генерации пароля (в том числе определение пользовательской группы символов);
-
описание требований вхождения символов в пароль;
-
определение количества вхождений символов заданной группы в пароль.
Пароль в ESSO-приложении должен удовлетворять следующим требованиям:
-
пароль должен состоять не менее чем из 10 символов;
-
пароль может содержать не более двух одинаковых символов;
-
в пароле должны присутствовать символы хотя бы трех групп из числа следующих четырех:
- прописные буквы английского алфавита от A до Z; - строчные буквы английского алфавита от a до z; - десятичные цифры (от 0 до 9); - неалфавитные символы (например, !, $, #, %).
Описание ограничений генерируемых паролей:
<passwordRestrictions length="10" eachCharacterOccurenceMax="2">
<acceptableCharacters>
<characterGroup type="cgtLatinsLower" />
<characterGroup type="cgtLatinsUpper" />
<characterGroup type="cgtDigits" />
<characterGroup type="cgtCustom" customCharacters="!@#$%^&*()_+" />
</acceptableCharacters>
<characterOccurences>
<characterOccurence anyCharacterOccurenceMin="2">
<characterGroup type="cgtLatinsLower" />
</characterOccurence>
<characterOccurence anyCharacterOccurenceMin="2">
<characterGroup type="cgtLatinsUpper" />
</characterOccurence>
<characterOccurence anyCharacterOccurenceMin="2">
<characterGroup type="cgtDigits" />
</characterOccurence>
</characterOccurences>
</passwordRestrictions>
Сгенерированные пароли будут:
-
состоять из 10 символов;
-
содержать по 2 или более символа каждой из групп: прописные буквы английского алфавита, строчные буквы английского алфавита, цифры;
-
содержать от 0 до 4 неалфавитных символов;
-
содержать не более двух одинаковых символов.
Например: g3)rAd5yDC, rzvrS9D7NE, 4i+Xh)xDh4
Посмотреть работу примера можно с помощью готового шаблона (IndeedId.SSO.Test.App.PswRest.Example1.app).
Пример 2
Пример демонстрирует:
-
определение пользовательской группы символов для генерации пароля;
-
описание требований вхождения символов пользовательской группы в пароль;
-
определение длины пароля в соответствии с требованиями вхождения символов в пароль.
Пароль в ESSO-приложении должен удовлетворять следующим требованиям:
-
пароль должен состоять не менее чем из 6 символов;
-
пароль не должен содержать одинаковых символов;
-
пароль должен содержать хотя бы 2 символа каждой из групп:
- прописные буквы английского алфавита от A до Z; - строчные буквы английского алфавита от a до z; - десятичные цифры (от 0 до 9); - неалфавитные символы (например, !, $, #, %).
Описание ограничений генерируемых паролей:
<passwordRestrictions length="6" eachCharacterOccurenceMax="1">
<acceptableCharacters>
<characterGroup type="cgtLatinsLower" />
<characterGroup type="cgtLatinsUpper" />
<characterGroup type="cgtDigits" />
<characterGroup type="cgtCustom" customCharacters=",.<>/?[]{}=+-_!@#$%^&*() " />
</acceptableCharacters>
<characterOccurences>
<characterOccurence anyCharacterOccurenceMin="2">
<characterGroup type="cgtLatinsLower" />
</characterOccurence>
<characterOccurence anyCharacterOccurenceMin="2">
<characterGroup type="cgtLatinsUpper" />
</characterOccurence>
<characterOccurence anyCharacterOccurenceMin="2">
<characterGroup type="cgtDigits" />
</characterOccurence>
<characterOccurence anyCharacterOccurenceMin="2">
<characterGroup type="cgtCustom" customCharacters=",.<>/?[]{}=+-_!@#$%^&*() " />
</characterOccurence>
</characterOccurences>
</passwordRestrictions>
Сгенерированные пароли:
-
будут стоять из 8 символов (в данном случае длина пароля определяется требованиями вхождения символов в пароль);
-
будут содержать по 2 символа каждой из групп: прописные буквы английского алфавита, строчные буквы английского алфавита, цифры, неалфавитные символы;
-
не могут содержать повторяющиеся символов.
Например: <Kw5Lh>4, 7vA0k+W?, d%Y8o)V6
Посмотреть работу примера можно с помощью готового шаблона (IndeedId.SSO.Test.App.PswRest.Example2.app).
|