2008-11-25 87 views
14

我将如何去为我的web应用程序的不同部分设置不同的身份验证标签?假设我有:web.config中的多个/不同身份验证设置

/ 
/folder1/ 
/folder2/ 

是否可以为每个文件夹指定不同的<authentication/>标签?

我想让folder1使用Windows身份验证,但folder2使用Forms身份验证。

我想在一个<location/>标签做什么,但它并不像你可以在一个<location/>标签<authentication/>标签,至少不是通过VS 2008与它的内置Web服务器。

这个错误说出来 - 错误3在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。此错误可能是由于虚拟目录未被配置为IIS中的应用程序。

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

回答

11

您只能在顶层web.config<authentication />。您可能必须创建多个应用程序。即您可以在应用程序内创建应用程序,并在每个应用程序中使用不同的身份验证模式

0

我认为你可以在文件夹1窗体身份验证授权设置为

<allow users="*" /> 

然后通过控制对文件夹设置窗口权限窗口访问。

我还没试过,但我想不出为什么不行。

1

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

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

更多信息请登录Creating Applications

+0

没错,但它似乎在VS2008调试器中,它不能将这些子文件夹视为应用程序文件夹,我需要通过推送到IIS服务器进行测试 – 2008-11-26 21:02:24