0

我们有一个使用 Impersonate=true 部署的网站。

连接字符串定义如下:

Integrated Security=SSPI;Persist Security Info=false;Initial Catalog=MyDatabase;Data Source=MyServer;

我认为 Persist Security Info 是多余的,因为它仅适用于 SQL 身份验证?由于公司安全策略,我们需要使用集成安全性,因为配置文件中不能有密码。

该网站在服务帐户下运行。服务帐户有权访问数据库,但其他帐户无权访问(安全策略)。

我们面临的问题是用户帐户被传递到数据库并被拒绝,因为 Impersonate=true。

我们需要 Impersonate=true 才能使单点登录组件正常工作。

这是第 22 条问题还是有解决方案?

我希望我已经写得很清楚了!

4

1 回答 1

1

根据http://msdn.microsoft.com/en-us/library/134ec8tc(v=vs.80).aspx “模拟独立于使用身份验证配置元素配置的身份验证模式。身份验证元素用于确定当前 HttpContext 的 User 属性。模拟用于确定 ASP.NET 应用程序的 WindowsIdentity'" 因此,您无需启用模拟即可对用户进行身份验证。但是请注意,您的应用程序必须处理授权。实现授权的现成框架是 NetSQLAzman,请参阅http://netsqlazman.codeplex.com/

于 2013-08-02T02:28:23.027 回答