我已创建了使用OWIN和Azure AD进行身份验证的Web表单应用程序,如here或here
所述我在默认网站下的IIS中托管此应用程序,因此我可以http://localhost
然后我添加了以下配置,以便匿名用户无法访问除起始页面之外的资源,即。 default.aspx
<authorization>
<deny users="?" />
</authorization>
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
此时一切正常,用户在Azure网站上进行身份验证并重定向到我的应用程序。我看到HttpContext.Current.User.Identity.IsAuthenticated是真的
然后在IIS中我在默认网站下创建了新应用程序(非虚拟目录),并将其指向具有图像的物理位置。我将子应用程序命名为&#34; images&#34;
现在验证后,当我尝试访问http://localhost/images/image1.jpg时出现错误
错误消息401.2。: 未经授权:由于服务器登录失败 组态。验证您是否有权查看此目录 或基于您提供的凭据和身份验证的页面 Web服务器上启用的方法。联系Web服务器 管理员提供额外帮助。
为什么身份验证不会传播到子应用程序?
应用程序是在Windows帐户下运行的池,该帐户是该机器上的adminsitartor。我正在使用Windows 10和IIS版本10.0.10586.0和VS 2013 Update 5