我有一个asp.net应用程序(使用Windows身份验证进行访问)(由安全团队规定)需要使用集成安全性连接到远程SQL Server 2005通过。由于这一事实,这是我需要模拟一个自定义帐户(冒充原调用将无法正常工作)远程SQL服务器:ASP.NET Web应用程序不能使用多个模拟验证
<identity impersonate = "true" userName="domainname\user" password="password" />
这workes罚款。蹭的是我的应用程序还使用ReportViewer控件连接到SSRS服务器以报告需求。报表服务器位于单独的服务器上,安全团队要求所有对此服务器的调用都必须使用原始窗口的帐户进行审计。看来我唯一的选择是尝试将我的应用程序分离到文件夹中,并在我的web.config中使用“位置”标记并使用单独的标识标记。如:
<location path="Reporting">
<system.web>
<identity impersonate = "true"/>
</system.web>
</location>
注:没有指定的用户名和密码,这意味着它要模拟原始访问者。
但是,使事情变得更加复杂我的应用程序是一个母版/内容页面的应用程序。主页面调用SQL来填充菜单等。底线是双重模仿轨道不起作用。我准备好抛出我的手,并宣布这是做不到的。如果有一种方法可以让我的应用程序模拟原来的调用方来满足我的SSRS审计需求,但可以将SQL Server作为自定义域帐户进行连接。我无法使用SQL身份验证:虽然这可以解决此问题,但不允许使用。
当我为自定义用户设置模拟时,如: Windows Identity是自定义用户。我试过了,这是事实。因此,如果我默认使用原始用户 如何为我的数据库调用指定自定义用户? –
MikeD
2009-06-18 18:04:02
如果内存正确地为我提供服务,它应该自动执行,只要连接字符串使用sspi上下文。 – kemiller2002 2009-06-18 18:25:10