Монитор файла для чтения и изменения данных? - PullRequest
1 голос
/ 27 августа 2010

Есть ли способ, используя C #, отслеживать определенный файл, а затем изменять его содержимое, прежде чем он будет прочитан определенными приложениями?

Вот ситуация:

У меня есть Windows 2003 Server, на котором работает ASP.NET с файлом конфигурации (xml), который содержит информацию LDAP. Я хочу зашифровать пароль LDAP. Я пытаюсь найти способ отслеживать этот файл, и всякий раз, когда он читается, расшифровывает пароль LDAP и передает его любому, кто его читает. Есть ли способ сказать, какая программа выполняет чтение? У меня уже работает шифрование / дешифрование, но оно встроено в установку ASP.NET; Я хотел бы сделать это внешним. Шифрование / дешифрование - это RSA с использованием ключей из хранилища ключей.

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

Если вы хотите, чтобы шифрование / дешифрование было внешним по отношению к вашему основному приложению, как насчет создания отдельного .dll или веб-сервиса, который делает это. Тогда ваш вызов в приложении ASP.NET поступит на веб-службу или в .dll.

Что-то вроде (Warining: Not Compiled - вам нужно это почистить)

WebServiceInstance instance = new WebServiceInstance();
string password = instance.PerformGetPassword();

Тогда ваша служба ASP.NET вообще не знает о зашифрованном пароле. Кроме того, если у вас есть другие приложения, которым требуется доступ к тому же файлу, они могут вызывать один и тот же веб-сервис.

1 голос
/ 27 августа 2010

Я думаю, что это было бы гораздо лучше сделать, используя разрешения NTFS для файла.Предоставьте доступ только определенным пользователям / группам и убедитесь, что любой процесс, требующий доступа к защищенным данным, выполняется в контексте безопасности пользователя, имеющего правильные разрешения ACL.

...