Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web.config中的多个/不同身份验证设置_Asp.net_Authentication_Web Config_Location - Fatal编程技术网

Asp.net web.config中的多个/不同身份验证设置

Asp.net web.config中的多个/不同身份验证设置,asp.net,authentication,web-config,location,Asp.net,Authentication,Web Config,Location,如何为web应用程序的不同部分设置不同的身份验证标签?假设我有: / /folder1/ /folder2/ 是否可以为每个文件夹指定不同的标记 我希望folder1使用Windows身份验证,但folder2使用窗体身份验证 我试着在一个标签中做,但看起来你不能在标签中有标签,至少不能通过VS2008内置的Web服务器 此错误指出-Error 3在应用程序级别之外使用注册为allowDefinition='MachineToApplication'的节是错误的。此错误可能是由于未在IIS中将

如何为web应用程序的不同部分设置不同的身份验证标签?假设我有:

/
/folder1/
/folder2/
是否可以为每个文件夹指定不同的
标记

我希望folder1使用Windows身份验证,但folder2使用窗体身份验证

我试着在一个
标签中做,但看起来你不能在
标签中有
标签,至少不能通过VS2008内置的Web服务器

此错误指出-Error 3在应用程序级别之外使用注册为allowDefinition='MachineToApplication'的节是错误的。此错误可能是由于未在IIS中将虚拟目录配置为应用程序造成的

<location path="/folder1">
    <system.web>
      <authentication mode="Forms" />
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>

我想您可以将folder1上的表单身份验证授权设置为

<allow users="*" />

然后通过设置文件夹的windows权限来控制windows访问


我没有尝试过,但我想不出为什么这样做不起作用。

这些设置仅在ASP.Net应用程序的根级别有效。要在子文件夹中使用不同的设置,您需要进入IIS并将该子文件夹设置为新的应用程序

完成此操作后,文件夹将在IIs管理器中具有不同的图标。在子文件夹中,创建一个新的web.config文件,并在其中添加新的身份验证设置


更多信息请访问。

您只能在顶级
web.config
上使用
。您可能需要创建多个应用程序。ie您可以在应用程序中创建一个应用程序,并在每个应用程序中使用不同的身份验证模式。

没错,但在VS2008调试器中,它似乎无法将这些子文件夹视为应用程序文件夹,我需要通过推到IIS服务器进行测试如果您使用的是内置Visual Studio web服务器,则是的,您是正确的,您需要在IIS中设置应用程序。