Сначала давайте проанализируем проблему: встроенные имя пользователя и пароль более безопасны, чем при использовании проверки подлинности Windows. Это смущающее неверное предположение. Все это дает ложное чувство безопасности. На самом деле факт невозможно скрыть секрет внутри приложения. Это может всегда быть раскрытым. В наше время все, что нужно - это один отважный умелый хакер, чтобы раскрыть встроенный пароль, или метод, как его восстановить, и благодаря Google и друзьям все его узнают, независимо от того, насколько они неумелы. он или она есть. При анализе безопасности логин и пароль, «скрытые» на рабочей станции пользователя, должны считаться такими же безопасными, как если бы они были переданы в письменном виде указанному пользователю. Используя скрытый логин и пароль в качестве средства защиты доступа, все, чего вы достигнете, - это потеря ответственности и репутации , кто сделал это, когда они это сделают. Всегда полагайтесь на надлежащие права доступа для защиты безопасности. Никогда не полагайтесь на запутанный пароль, который «скрыт» на компьютере самого злоумышленника.
Если вам нужна схема защиты, которая позволяет пользователям получать доступ только к определенным функциям (т. Е. Они могут обновлять данные только таким способом , а не писать произвольные ОБНОВЛЕНИЯ), используйте команду good ole 'try and проверенные методы цепочек владения с помощью хранимых процедур и предоставление только EXECUTE доступа для аутентифицированного пользователя true . Для еще лучшего решения используйте подпись кода .
Что касается доступа T-SQL и Win32, документ FILESTREAM Best Practices содержит следующую формулировку:
- FILESTREAM API предназначен для
Win32 потоковый доступ к данным. избежать
использование Transact-SQL для чтения или записи
FILESTREAM бинарные большие объекты
(BLOB), размер которых превышает 2 МБ. Если
Вы должны читать или записывать данные BLOB из
Transact-SQL, убедитесь, что все BLOB
данные потребляются, прежде чем пытаться
Откройте BLOB FILESTREAM из Win32.
Неспособность потреблять все
Данные Transact-SQL могут вызывать любые
последовательный FILESTREAM открыть или закрыть
сбой операции.
- Избегайте операторов Transact-SQL, которые
обновить, добавить или добавить данные в
FILESTREAM BLOB. Это вызывает BLOB
данные, которые будут помещены в буфер базы данных
базы данных, а затем обратно в новый
физический файл.