標準のaspサイトマップとメニューコントロールで作業するカスタムロールプロバイダがあります。セキュリティ調整が有効になっていて、web.configを次のように修正するとメニュー項目が消えたり再表示されます。SecurityTrimming、カスタムRoleProviderとサーバー500エラー:(
<location path="x/y/z.aspx">
<system.web>
<authorization>
<allow roles="a, b, c" />
<deny users="*" />
</authorization>
</system.web>
</location>
が、私は、このようなページを訪問するたびに、残念ながら、私は非常に基本的な示しています - 私は設定から上記の行を削除した場合、「500。内部サーバーエラー」
を、そのようなエラーは発生しません(誰もがページにアクセスできます!)
これは私のカスタムロール提供者と関係がありますか?それは他のすべてで動作するようです!私はIsUserInRole関数とGetRolesForUser関数をオーバーライドしました(他のすべての必須関数、空の配列などは返さない)。
ありがとうございました! :)
は編集:私は、これはエラーの原因となっroleprovider私のカスタムではないかなり確信している
は..私は私のweb.configファイル内の他の場所で次のよう持っています。
<location path="." inheritInChildApplications="false">
私の設定の大部分は、アイデアはすべての私のappSettings、てsessionState、認証オプションなど、他のアプリケーションに継承されたIISで設定したが、サブフォルダ内に保持されたことがないだろうということで、このセクションで開催されました私が今取り組んでいるアプリケーションのおそらく、この「場所」内に、他の場所に転送されていないセクションがあります(子アプリケーションではありませんが...!)securityTrimmingが動作するのを混乱させます...とにかくそのセクションの外にある上記の「場所」は、すべてが再び機能します!両方の世界のベストを尽くす方法はありますか?
私はqをより詳しい情報で編集しました。私はそれが特に役割提供者/トリミングの問題ではないと確信しています..完全に再編集するのか、新しい質問を投稿するのか、すべての助けをありがとう。 –