我们部署的网站使用Impersonate = true。
连接字符串定义如下:
集成安全性= SSPI;持久安全信息= false;初始 Catalog = MyDatabase;数据源= MyServer;
我认为Persist Security Info是多余的,因为它只适用于SQL身份验证?由于公司安全策略,我们需要使用集成安全性,因为配置文件中没有密码。
该网站在服务帐户下运行。服务帐户具有访问数据库的权限,但其他帐户没有访问权限(安全策略)。
我们面临的问题是由于Impersonate = true,用户帐户被传递到数据库并被拒绝。
我们需要让Impersonate = true才能使单点登录组件正常工作。
这是一个问题22还是有解决方案?
我希望我写得足够清楚!
答案 0 :(得分:1)
根据http://msdn.microsoft.com/en-us/library/134ec8tc(v=vs.80).aspx “模拟与使用身份验证配置元素配置的身份验证模式无关。身份验证元素用于确定当前HttpContext的User属性。模拟用于确定ASP.NET应用程序的WindowsIdentity”“因此,您不需要需要启用模拟才能对用户进行身份验证。但请注意,您的应用程序必须处理授权。实现授权的现成框架是NetSQLAzman,请参阅http://netsqlazman.codeplex.com/