asp.Net   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net – 在根站点下托管的应用程序中配置子目录验证模式大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的本地机器上,我在多个网站上工作,并在IIS下的“默认”网站下运行它们。这样我可以通过这种类型的URL访问网站: http://localhost/App1/.这是结构:
LocalDev (sitE)
    App1 (application)
    App2 (application)
    App3 (application)

我遇到的问题是,在App1中,我试图在App1的子目录上启用Windows身份验证,如下所示:

<configuration>
  <LOCATIOn path="internal">
    <system.web>
      <authentication mode="Windows"/>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </LOCATIOn>
</configuration>

不幸的是,当我尝试访问http://localhost/App1/internal/url.aspx时,我收到这个错误:

App1设置为应用程序,而不是虚拟目录。我尝试更改我的machine.config以允许在任何地方更改身份验证部分:

<configuration>
  <configSections>
    <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a">
      <section name="authentication" type="System.Web.Configuration.AuthenticationSection,PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="Everywhere"/>
    </sectionGroup>
  </configSections>
</configuration>

我必须做什么才能让我的网站设置自己的身份验证模式?

解决方法

您需要在Web.config中的应用程序级别启用Windows身份验证,然后在文件夹级别进一步定义授权,允许根目录下的所有用户,并拒绝所有未经身份验证的内部文件夹。

在IIS中,确保为应用程序启用匿名身份验证和Windows身份验证。然后,修改您的Web.config如下:

<configuration>
  <system.web>
      <authentication mode="Windows"/>
      <authorization>
        <allow users="*"/>
      </authorization>
  </system.web>
  <LOCATIOn path="internal" allowOverride="true">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </LOCATIOn>
</configuration>

大佬总结

以上是大佬教程为你收集整理的asp.net – 在根站点下托管的应用程序中配置子目录验证模式全部内容,希望文章能够帮你解决asp.net – 在根站点下托管的应用程序中配置子目录验证模式所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。