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 で実行されているように見える場合、サーバーが Role プロバイダーを使用しないように見える場合は、開始時以降にのみ Initialize メソッドを呼び出します。

この問題をトラブルシューティングするための正しい指示をください。必要に応じて詳細を表示します。

4

2 に答える 2

0

に設定して新しいApplication Poolを作成します。値を に設定します。この後、サイトの新しく作成された時点を設定します。Managed Pipeline ModeIntegratedIdentityNetworkServiceApplication PoolApplication Pool

于 2012-05-18T19:18:14.730 に答える
0

視点を変えた後、私は問題を見つけました。プロジェクトでは、1つの醜い HttpHandler を行で使用しています:Context.SkipAuthorization = true;それは私のすべての問題を引き起こします。

于 2012-05-22T12:39:10.203 に答える