簡體   English   中英

如何在ASP.NET MVC3中使用可信連接連接到數據庫?

[英]How to connect to a database with trusted connection in ASP.NET MVC3?

我有一個使用Windows身份驗證和SqlRoleManager提供程序的ASP.NET MVC3應用程序。 我正在嘗試連接到具有集成安全性的數據庫。 數據庫團隊要求授權每個用戶使用Windows身份驗證而不是可用於Web應用程序的簡單用戶名和密碼來使用數據庫。 我使用下面的代碼,發現主體實際上是應用程序池用戶。 如何將會話附加到當前的Windows用戶? 這甚至可能嗎?

WindowsIdentity identity = WindowsIdentity.GetCurrent();
Response.Write(identity.Name);

有些事要嘗試:

  • 通過identity .config節點打開.config中的模擬
  • 通過WindowsImpersonationContext在db訪問的代碼中執行模擬(從未嘗試過 - 慢?)
  • 通過Context.User.Identity.Name(不確定這是否能完全滿足您的需求)。

此問題類似。

摘自MSDN文章

Context.User.Identity.Name屬性返回經過身份驗證的用戶的標識。 當應用程序在IIS 7中運行並且禁用模擬時,Environment.UserName屬性將返回運行Web應用程序的應用程序池的標識。例如,如果網站在默認應用程序池中運行,則名稱顯示DefaultAppPool。 如果使用ASP.NET v4.0應用程序池,則會顯示ASP.NET v4.0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM