0

在深入谷歌搜索后,我没有找到任何解决我的问题的解决方案或方法,所以在这里问。在 web.config 的第一部分

......
   <location path="DevReg.aspx">
    <system.web>
      <authorization>
        <allow roles="C,csvImportExport"/>
        <deny users="*,?"/>
      </authorization>
    </system.web>
  </location>
.......
  <system.web>
    <roleManager enabled="true" defaultProvider="MyRoleProvider">
      <providers>
        <clear />
        <add name="MyRoleProvider" type="DataAccess.Common.MyRoleProvider, DataAccess" applicationName="myapp" />
      </providers>
    </roleManager>
  </system.web>
.......

同一解决方案中其他项目中的主要 WebApp。当我在 Visual Studio 提供程序中运行应用程序时运行良好——授权工作必须进行,我也可以从代码中调用我的提供程序(例如 IsUserInRole 返回正确的结果)。但是在部署到本地 IIS (Win 7/ IIS 7.5) 之后。我尝试使用 VirtualDirectory 和使用 WebApp,但没有成功。

当我在 IIS 中运行的应用程序看起来像服务器从不使用角色提供程序时,只在启动时调用 Initialize 方法和更新更多。

请给我正确的方向来解决这个问题,如果需要我会显示更多细节。

4

2 回答 2

0

创建一个新Application Pool的,Managed Pipeline Mode设置为Integrated。将Identity值设置为NetworkService。在此设置新创建Application PoolApplication Pool站点之后。

于 2012-05-18T19:18:14.730 回答
0

换个角度后,我发现了问题。在项目中,我们还使用了一个丑陋的 HttpHandler 一行:Context.SkipAuthorization = true;这让我很烦恼。

于 2012-05-22T12:39:10.203 回答