Мне немного неясно, как работают ключи защиты данных в среде веб-фермы.У меня нет общего расположения, которое могут использовать все серверы (и я не хочу иметь дело с разрешениями).Поэтому я хотел бы сгенерировать ключ и распространить его вместе с веб-приложением.
Я делаю следующее, но не уверен, правильно ли это.Таким образом, я генерирую файл ключа локально на своем компьютере разработчика с помощью:
var specialFolder = Environment.SpecialFolder.CommonApplicationData;
var appDataPath = Path.Combine(
Environment.GetFolderPath(specialFolder),
"company",
"product"
);
services.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(appDataPath));
Это создает файл key-some-guid.xml
.Затем я распространяю этот файл с моим веб-приложением.
Теперь, когда я запускаю свое веб-приложение, в службах Startup.Configure скопируйте этот файл в местоположение appDataPath
(определено выше) и вызовите services.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(appDataPath));
,
Будет ли это работать?Или я что-то упускаю?