ЗаписатьДанныеВБезопасноеХранилище
страницаЗаписывает конфиденциальные данные в безопасное хранилище. Вызывающий код должен самостоятельно устанавливать привилегированный режим. Безопасное хранилище недоступно для чтения пользователям (кроме администраторов), а доступно только коду, который делает обращения только к своей части данных и в том контексте, который предполагает чтение или запись конфиденциальных данных.
Синтаксис
Процедура ЗаписатьДанныеВБезопасноеХранилище(Владелец, Данные, Ключ = "Пароль") ЭкспортПараметры
Владелец— ПланОбменаСсылка- СправочникСсылка
- Строка - ссылка на объект информационной базы, представляющий объект-владелец сохраняемого пароля или строка до 128 символов. Для объектов других типов в качестве владельца рекомендуется использовать ссылку на элемент метаданных этого типа в справочнике ИдентификаторыОбъектовМетаданных или ключ в виде строки с учетом имен подсистем. Например, для БСП: Владелец = ОбщегоНазначения.ИдентификаторОбъектаМетаданных("РегистрСведений.АдресныеОбъекты"); если нужно 1 хранилище на подсистему БСП: Владелец = "СтандартныеПодсистемы.УправлениеДоступом"; если нужно более 1 хранилища на подсистему БСП: Владелец = "СтандартныеПодсистемы.УправлениеДоступом.<Уточнение>";
Данные— Произвольный - данные помещаемые в безопасное хранилище. Неопределенно - удаляет все данные. Для удаления данных по ключу следует использовать процедуру УдалитьДанныеИзБезопасногоХранилища.- Структура - если параметр Ключ содержит Неопределено. Подробнее см. описание параметра Ключ
Ключ— Строка - ключ сохраняемых настроек, по умолчанию "Пароль". Ключ должен соответствовать правилам имен идентификаторов:- Первым символом ключа должна быть буква или символ подчеркивания (_).
- Каждый из последующих символов может быть буквой, цифрой или символом подчеркивания (_).
Неопределено— для добавления набора данных структурой, где ключ структуры - это имя ключа данных, а значение - сохраняемые данные. Пример использования см. ниже.
Пример вызова
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ТекущийПользовательМожетИзменятьПароль Тогда
УстановитьПривилегированныйРежим(Истина);
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(ТекущийОбъект.Ссылка, Логин, "Логин");
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(ТекущийОбъект.Ссылка, Пароль);
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
КонецПроцедуры
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ТекущийПользовательМожетИзменятьПароль Тогда
ЛогинИПароль = Новый Структура;
ЛогинИПароль.Вставить("Логин", Логин);
ЛогинИПароль.Вставить("Пароль", Пароль);
УстановитьПривилегированныйРежим(Истина);
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(ТекущийОбъект.Ссылка, ЛогинИПароль, Неопределено);
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
КонецПроцедурыДоступность
Сервер, Толстый клиент, Внешнее соединение