我有一个PHP站点(默认网站)和一个ASP.NET站点(在默认网站下的应用程序)一起运行。
我已经为默认网站设置了Windows身份validation,这很好。 问题是我的ASP.NET应用程序创build一个Web请求 – (HttpWebRequest)WebRequest.Create(url) – 从PHP应用程序中获取信息。 没有身份validation就没问题,但使用Windows身份validation,它会得到(401)未经授权的响应。
我想通过request.Credentials = new NetworkCredentials(user, pwd, domain);传递凭据request.Credentials = new NetworkCredentials(user, pwd, domain); 但我真的正在寻找一种方式来让PHP应用程序允许其他应用程序在同一个服务器上(甚至是站点)通过。
我如何告诉默认网站允许这些请求?
我不认为你可以绕过IIS身份validation。 毕竟,这是它的目的:)
你可以做的是设置PHP网站两次 ,一次authentication,一次没有 。
在没有身份validation的站点上,确保设置了IP限制,只允许本地主机请求
只需从默认网站上删除Windows身份validation ,并将其设置在默认网站下的应用程序中。
这当然假设您不需要在默认网站(PHP)上进行身份validation
创build一个你想要从.net应用程序访问的php页面(或者页面)的重复(例如x_internal.php),并且(在这些页面上)设置它们允许匿名访问并且使用IP过滤来限制访问本地IP只是为了防止非本地客户端的直接访问。
过去我没有做过类似的事情。
这看起来很像微软closures安全漏洞的问题。
如果这是我见过的同样的问题, http://support.microsoft.com/kb/896861会给你足够的细节进行sorting。 就我而言,这只是一个编辑registry的问题。