使用Impersonate的集成安全性= true /连接字符串问题/ ASP.NET

时间:2013-08-02 02:19:20

标签: database-connection connection-string impersonation integrated-security

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

连接字符串定义如下:

  

集成安全性= SSPI;持久安全信息= false;初始   Catalog = MyDatabase;数据源= MyServer;

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

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

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

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

这是一个问题22还是有解决方案?

我希望我写得足够清楚!

1 个答案:

答案 0 :(得分:1)

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