В качестве обходного пути, возможно, вы могли бы передать имя пользователя Windows в свои хранимые процедуры (при условии, что вы контролируете доступ к данным с помощью хранимых процедур).Или вы можете передать его через строку подключения, используя свойство "thwartable", такое как Имя приложения ... когда пользователь входит в приложение, создает свою сессию и использует выделенную ему строку подключения, например,
...;Initial Catalog=dbname;Application Name=<inject login name here>;...
Теперь вы можете выбрать эти данные по session_id из sys.dm_exec_sessions.program_name.
В качестве предупреждения это означает, что вы больше не можете идентифицировать приложение через это свойство.Если вы хотите продолжить делать это, вы можете решить включить в это свойство как имя приложения, так и имя для входа в систему и разделить его при проведении аудита.Таким образом, вы все равно можете отслеживать и т. Д. Идентифицировать веб-приложение, используя вместо вместо =.
(обратите внимание, что этот столбец ограничен 128 символами.)
Я уверен, что естьспособ настроить IIS для передачи ваших учетных данных на SQL Server, я просто не сделал этого.Возможно, вы захотите заглянуть в эту статью .