我已经尝试了一个多月的时间来将这里的 ASP 脚本连接到 SQL Server 数据库
但每次我使用这个连接字符串时:
Data Source=dbServer01;Initial Catalog=POS123;Integrated Security=SSPI;User ID=domain\usr;Password=pwd;
它忽略我指定的用户并使用计算机名称来验证连接,这显然失败了。
所以我将 Integrated Security 值更改为 False,如下所示:
Data Source=dbServer01;Initial Catalog=POS123;Integrated Security=False;User ID=domain\usr;Password=pwd;
然后我收到一个错误: 用户“domain\usr”登录失败,这是不可能的,因为当我们在 odbc 管理应用程序中测试与其连接时它会起作用。
我请教了一位前辈,他说是把用户名作为数据库用户名,但是我们需要让它使用windows身份验证,并指定使用哪个用户。
我记得一个月前读过这篇文章,发现在使用 Windows 身份验证与此版本的 ASP.NET 进行连接时无法指定用户和密码。
我很快就会自杀如果我无法连接这个脚本,请有人救救我!
You've got at least 2 3 options here:
- 在您的 Web 服务器上创建一个应用程序池,其运行方式为
domain/usr
然后将您的应用程序分配到此应用程序池,并使用集成安全性。您的连接字符串将是Data Source=dbServer01;Initial Catalog=POS123;Integrated Security=SSPI;
- 即删除用户名和密码 - 这些是 AppPool 身份所固有的。
- 或者(假设启用了混合模式安全性)要求您的 DBA 创建一个新的 SQL 用户(只需调用
usr
) 具有与以下相同的权限domain/usr
然后将连接字符串更改为标准安全性,使用User Id=usr
- 如果您启用模拟(here http://forums.asp.net/t/1206093.aspx/1 and here https://stackoverflow.com/questions/5826882/application-pool-identity-or-impersonation),您可以使用域凭据而不更改应用程序池身份。请注意有关保护明文密码和 IME 的一点,这通常还需要额外的配置以避免双跳问题 https://stackoverflow.com/questions/13706580/kerberos-double-hop-in-asp-net-4-0-sql2008r2.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)