Открыть список
Как стать автором
Обновить

Рекомендации по установке СУБД InterSystems Caché в продуктовом режиме

Блог компании InterSystemsСистемное администрированиеПрограммированиеСистемное программированиеАдминистрирование баз данных
Tutorial
Всего голосов 19: ↑19 и ↓0 +19
Просмотры3.2KКомментарии 13

Комментарии 13

Из раздела на проверку соответствия
Сложность пароля: цифры и символы
Password Pattern = 7.32ANP

7.32ANP — это от 7 до 32 буквы или цифры или знаки пунктуации
One or more pattern codes. If more than one code is specified, the pattern is satisfied by matching any one of the codes.
Pattern Matching
Надо указывать программу
Действительно, ошибка.
В программу ^PASSWORD добавил
проверку
ROUTINE PASSWORD
PASSWORD ; Программа проверки паролей
#include %occInclude
CHECK(Username,Password) PUBLIC {
	if $l(Password)<7 quit $$$ERROR($$$GeneralError,"Этот пароль меньше 7 символов") 
	if $l(Password)>32 quit $$$ERROR($$$GeneralError,"Этот пароль больше 32 символов")
	if $tr(Password,"0123456789")=Password quit $$$ERROR($$$GeneralError,"Этот пароль не содержит цифры")
	if $tr(Password,"?!@#$%^&*()-[]{}<>+=,._~\|/")=Password quit $$$ERROR($$$GeneralError,"Этот пароль не содержит знаки пунктуации")
	if $tr(Password,"qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM")=Password quit $$$ERROR($$$GeneralError,"Этот пароль не содержит символы")
...
Проверку на буквы, цифры, символы ( вместо $translate ) в программе лучше переписать через всё тот же Pattern Matching. Ибо русский ( или другие ) символы, utf-8, настройки инстанса и т.д ;)
Главное, начать улучшать код,
потом бывает трудно остановиться
ROUTINE PASSWORD
PASSWORD ; Программа проверки паролей
#include %occInclude
CHECK(Username,Password) PUBLIC {
	if '$match(Password,"(?=.*[0-9])(?=.*[a-zA-Z]).{7,}") quit $$$ERROR($$$GeneralError,"Пароль не соответствует стандарту PCI_DSS_v3.2")
...
Это да, соглашусь :))
// s p = Password
Q ($l(p)>7) && (p?.E1.A.E) && (p?.E1.N.E) && (p?.E1.P.E)
На гитхаб? :)
// s p = Password
Q ($l(p)>7) && (p?.E1.N.E) && (p?.E1.(1.A,1.P).E)  // длина,цифры,символы
Если уж быть точным:)
// s p = Password
Q ($l(p)'<7) && (p?.E1.N.E) && (p?.E1.(1.A,1.P).E)  // длина не меньше 7,цифры,символы
и лаконичным:)
 $l(p)>6 // && (p?.E1.N.E) && (p?.E1.(1.A,1.P).E) 
Если аудит выключен, то его надо включить, выбрав пункт меню «Enable Auditing».
И помнить, что в менеджере задач по умолчанию запущена программа очистки журнала аудита. В последней версии 2017.2 «Очистить всю информацию для аудита с момента переключения журнала», а в предыдущих ( точно в 2013, 2014 ) все что старше 2 месяцев
Разработчики СУБД ограничили вывод списка 1000 элементами

Откройте для себя удивительный мир CLI ( command line interface ) — запускаете терминал, заходите в область %SYS, набираете do ^SECURITY
Подскажите, в каком месте диалога утилита ^SECURITY позволит создать нового пользователя копированием настроек из уже существующего? Может это уже есть 2017.2?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
1978
Местоположение
США
Сайт
www.intersystems.com
Численность
1 001–5 000 человек
Дата регистрации

Блог на Хабре