我有一个asp.net web api项目,它通过web配置元素使用模拟连接到我们的SQL数据库:
<identity impersonate="true"
userName="domain\user1"
password="password" />
这在99.9%的情况下完美无缺。但是,有一个特定端点需要SQL Server中的其他权限。我想冒充第二个用户,让我们称之为user2,而不是user1用于此特定呼叫,然后将所有其他请求恢复为user1。我相信模拟可以通过编程方式实现,但它是否可以与上面基于配置的方法一起使用,以便我可以以编程方式覆盖(并随后恢复为默认值)这个端点的模拟用户?
答案 0 :(得分:0)
在web.config中使用连接字符串。
如果您可以使用标准安全性,请参考。如果只能使用集成,请使用凭据创建DSN,并在连接字符串元素中引用DSN。
在第二个端点中,引用具有提升权限的第二个连接字符串。如果未来的端点需要不同的权限,这将为API提供更大的灵活性。