我在IIS 6上configuration了一个网站。当我从公司networking内部访问网站时,它工作正常。
当我尝试从networking外部访问网站时,浏览器要求提供Windows凭据。
应用程序池被configuration为作为networking服务运行。 该网站configuration有:“启用匿名访问”。
我已经用密码指定了一个用户帐户。
当我运行Microsoft身份validation和访问控制诊断时,我收到以下消息:
“当前configuration需要IIS subauthentication。但是,IIS subauthentication组件iissuba.dll目前没有configuration。”
“当前的configuration使用IIS subauthentication进行匿名身份validation,这要求将worker进程configuration为以本地系统身份运行,出于安全原因,build议不要这样做。
事情是我不想使用subauthentication,因为我知道我使用的用户帐户的密码。
用户帐户是MACHINENAME \ IUSR_MACHINENAME。
我必须做些什么才能让networking以外的人访问网站而不需要获得凭据?
您可以在Web服务器上的“事件查看器安全”日志中查看哪个帐户正在进行IIS调用。 如果使用集成身份validation,您应该在安全日志中看到唯一的用户帐户。 如果使用匿名用户访问该站点,则会在日志中显示IUSR帐户。
我build议在内部访问网站(在哪里工作),并检查出安全日志。 如果您看到您的域/用户帐户提出请求,那么您知道匿名用户帐户存在问题。 如果使用其他身份validation方法(例如,集成)启用匿名访问,则始终首先尝试匿名访问。
我会考虑一些其他的事情。
– 您在网站或虚拟目录中定义了多种身份validation模式? 这位于IIS站点/虚拟目录上的“目录安全性”选项卡下。
– 是否在web.config中启用集成身份validation? ()
– IUSR帐户是IIS_WPG本地计算机组的成员?
– IUSR帐户是哪个组的成员? 如上所述,IUSR帐户将需要访问您的文件系统。
– 仔细检查你的网站确实在你认为是的应用程序池下运行。
– 仔细检查您的应用程序池确实在networking服务帐户下运行。
– input您的IUSR帐户详细信息。
希望这有助于戴夫
您需要确保主文件夹对您启用的networking服务和匿名帐户具有读取权限。 通常build议在1个用户身份下运行网站和应用程序池。