Олицетворение: ASP.NET действие контроллера MVC по сравнению с веб-формами

Существует ли различие с олицетворением между контроллером MVC ASP.NET действия по сравнению с Веб-формой ASP.NET? С помощью того же самого кода в рамках того же веб-проекта я могу успешно исполнить роль пользователя Windows при соединении с SQL Server из Веб-формы, но не от Действия Контроллера. Вот пример кода, который я тестирую от каждого:

string sqlQuery = @"SELECT Top 10 FullName FROM Customer";

// Connect to the database server. You must use Windows Authentication;
SqlConnection connection = new SqlConnection("Data Source=ServerName;Initial Catalog=DBName;Integrated Security=SSPI");
// Create a DataTable to store the results of the query.
DataTable table = new DataTable();

// Create and configure the SQL Data Adapter that will fill the DataTable.
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(sqlQuery, connection);

// Execute the query by filling the DataTable.
adapter.Fill(table);

Я проверил пользователя HttpContext и на контроллере и на веб-форме, и они выглядят идентичными. Однако при выполнении трассировки SQL действие контроллера всегда работает как Сетевая служба, в то время как веб-форма работает как пользователь. Любое разъяснение по поводу того, почему эти два ведут себя отличающиеся и как явиться олицетворением в рамках действия контроллера, ценилось бы.

5
задан SaaS Developer 15 December 2009 в 17:50
поделиться

2 ответа

попробуйте добавить

 <identity impersonate="true">

в

<system.web>

часть вашего файла web.config для приложения mvc

5
ответ дан 14 December 2019 в 13:38
поделиться

Это может помочь:

Олицетворение в ASP.NET MVC

Я также должен упомянуть, что олицетворение может отрицательно повлиять на вашу способность масштабировать приложение:

http: //www.hanselman.com/blog/AvoidUsingImpersonationInASPNET.aspx

1
ответ дан 14 December 2019 в 13:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: