Gibt es einen Unterschied mit Identitätswechsel zwischen einer ASP.Net MVC-Controller-Aktionen vs. ASP.Net Web Form? Wenn ich denselben Code innerhalb desselben Webprojekts verwende, kann ich den Windows-Benutzer erfolgreich imitieren, wenn ich von einem Webformular aus eine Verbindung mit SQL Server herstelle, aber nicht von der Controller-Aktion. Hier ist der Code Probe I von jedem mich entschieden:Identitätswechsel: ASP.Net MVC-Controller-Aktion im Vergleich zu Web Forms
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);
ich die Httpcontext Benutzer sowohl auf dem Controller überprüft haben und das Web-Formular und sie identisch aussehen. Wenn Sie jedoch eine SQL-Ablaufverfolgung ausführen, wird die Controlleraktion immer als Netzwerkdienst ausgeführt, während das Webformular als Benutzer ausgeführt wird. Jede Klärung, warum diese beiden sich anders verhalten und wie man sich im Rahmen der Kontrolleraktion ausgibt, wäre zu begrüßen.
einverstanden war, kann ich nicht wirklich einen Grund sehen Benutzer-Identitätswechsel zu verwenden, wenn Sie einfach keinen Zugang zu db Berechtigungen zu ändern. –