FormsAuthentication用于多个子文件夹

时间:2010-09-09 16:44:15

标签: asp.net

当我尝试在各种子文件夹中实现表单身份验证时,我收到如下错误:使用注册为allowDefinition ='MachineToApplication'的部分超出应用程序级别是错误的。此错误可能是由于虚拟目录未在IIS中配置为应用程序。

我的webconfig中的实现如下

<location path="HelpDesk">
<system.web>
  <authentication mode="Forms">
    <forms loginUrl="Helpdesk/Default.aspx" />
  </authentication>
  </system.web>
</location>

2 个答案:

答案 0 :(得分:1)

您忘记/复制项目子目录中的web.config,该子目录包含仅适用于主web.config的命令。

如果这不是您的主配置,那么您需要为子文件夹用户更改它...例如:

<configuration>
    <system.web>
      <authorization>
        <allow roles="whatever" />
        <deny users="*" />
      </authorization>
    </system.web>
</configuration>

答案 1 :(得分:0)

这是我必须做的才能使我的WFC服务使用表单身份验证

<modules runAllManagedModulesForAllRequests="true"/>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" minFreeMemoryPercentageToActivateService="0"/>

<authorization>
  <allow roles="itvserver" />
  <deny users="?"/>
</authorization>

<system.web.extensions>
   <scripting>
      <webServices>
         <authenticationService enabled="true" />
      </webServices>
   </scripting>
</system.web.extensions>