为什么web.config中的Authorization元素不能与OWIN一起使用?

时间:2016-02-25 09:05:32

标签: asp.net iis authorization owin azure-active-directory

  • 我已创建了使用OWIN和Azure AD进行身份验证的Web表单应用程序,如herehere

    所述
    • 我在默认网站下的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

0 个答案:

没有答案