SqlConnection集成安全
本文关键字:安全 集成 SqlConnection | 更新日期: 2023-09-27 18:02:36
我有一个在IIS内的Windows服务器上运行的web应用程序。这个应用程序正在使用Windows身份验证。我试图使用c# SqlConnection
,因为我需要使用TVP调用存储过程,但我遇到了登录问题。
错误是
用户NT AUTHORITY'ANONYMOUS登录失败
但是我的HttpContext.Current.Identity
是我的Windows帐户。
using (var conn = new SqlConnection(connection))
{
conn.Open();
}
如果我使用实体框架:
using (var context = new DatabaseEntities())
{
...
}
我很好奇为什么在标准c# SqlConnection
中,它不使用Windows身份,但在实体框架连接中,它确实如此。任何帮助吗?
要在进行数据库调用时使用HttpContext.Current.Identity,您需要启用模拟。这将更改asp.net进程以模拟您运行。
要启用该功能,请添加以下内容到系统中。Web .config的Web节点:
<identity impersonate="true"/>
您可以在https://msdn.microsoft.com/en-us/library/xh507fc5.aspx找到更多信息