iis7连接php,在IIS7中通过PHP连接到SQL SERVER 2008(使用Windows身份验证)?

这是我的问题: b>

答)我需要通过在PHP代码中传递用户名和密码(如我们在连接到SQL Server时使用SQL Server身份验证时)来连接到SQL Server 2008(使用Windows身份验证)?

B)我需要根据Windows身份验证的用户名/密码对用户进行身份验证。

(当我使用SQL Server身份验证连接时遇到问题时,我的解决方案) b>

A)在数据源(ODBC)中创建一个“系统DSN”,使用用户输入的登录ID和密码将其配置为验证登录ID的真实性 - >使用SQL Server身份验证将其称为“DBConnect”。

使用这个PHP代码

$ con = odbc_connect(“DBconnect”,“sql_user”,“sql_password”);我可以成功连接

这样我就可以连接到SQL SERVER以及在php代码中执行其他SQL查询。

B)使用“$ con”中的值打印0或1,从而验证用户身份。

现在,当SQL Server使用Windows身份验证时,我需要做同样的事情。这就是我正在做的事情。 b>

A)在数据源(ODBC)中创建一个“系统DSN”,将其配置为使用网络登录ID验证登录ID - >的Windows NT身份验证的真实性,并将其称为“DBConnect_NT”。

由于此代码

为$ con = odbc_connect(“DBconnect_NT”,“windows_user”,“windows_pass”);

不工作给出错误“查询准备/执行中的错误.28000”。

我在IIS7管理器中更改了一些设置。在IIS7管理器 - >身份验证:

“Windows身份验证=已启用” b>和“匿名身份验证=已禁用” b>。

现在每次调用$ con = odbc_connect(“DBconnect_NT”,“”,“”);它给了一个流行

登录 。当我输入用户名和密码时,它连接并因此允许我使用相同的连接参数$ con进行其他查询。

B)我无法基于这种方法验证用户身份。因为当我输入错误的用户名和密码弹出时,它没有回应(弹出窗口再次出现),并给出了错误“401 - 未经授权:由于证书无效,访问被拒绝。”当我取消弹出。

所以这是我的困境 h2>

我使用正确的方式连接到SQL Server(使用Windows身份验证)吗?

通过动态传递(Windows身份验证)用户名和密码,还有其他可行的方式来连接SQL Server吗?

我得到很多建议,比如使用LDAP来对Active目录进行身份验证,但是它不起作用。

请帮助我,因为几天后我被困住了。

PS:我在Amazon EC2机器中使用SQL SERVER 2008,IIS7和PHP5.3。 b>

谢谢Tony的如此快速的回应。

但事实是,SQL存储过程和查询的其余部分都是基于与之相关的“用户”

我们连接到SQL Server。存储过程给出了不同的基于结果的用户连接。

而且我仅限于使用“Windows身份验证”连接到SQL Server。这就是为什么我需要使用Windows身份验证和传递用户/密码连接到SQL Server。

当我在浏览器中调用php文件(使用代码$ con = odbc_connect(“DBconnect_NT”,“”,“”)连接到SQL Server)时,IIS7中更改的设置使我能够弹出Windows身份验证。在提供用户/密码时,它使用此用户/密码连接SQL Server,其余存储过程也按预期工作。

这个PHP文件是由我使用“http://url/Webservice/connect.php”构建的flex应用程序使用的.Flex动态地将用户/密码传递给这个从窗体弹出并因此连接。但是,当提供错误的用户/密码时,“Popup很难处理”,它会持续不断地弹出应用程序挂起。

如果在提供错误的用户/密码弹出时可能收到一些错误代码

它可以解决这个问题。

或者,如果我们有其他方法使用Windows身份验证连接SQL Server,并且传递用户/密码将解决我的目的。

提前致谢 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值