この正確な問題はGitHubで尋ねられましたが、提供された回避策はバージョン 2 ではオプションではないようです。
問題は、セキュリティが適切に構成されている場合、ForAllControllersInheriting を介して構成されている場合でも、CastleDynamixProxy ランタイムで作成されたコントローラー プロキシでは機能しないことです。
これは、流暢なセキュリティがルールを解析しているときに、これらのコントローラーが実際には存在しないことが原因であると思います。これに対する回避策はありますか? GitHubで提案されているように、カスタマイズされた HandleSecurityAttribute を作成したかったのですが、バージョン 2 のすべての内部的なものでそれを行うことができませんでした (ただし、それが原因で、私は C# の専門家ではないため、方法のヒントが必要になる場合があります)。それを行う)。
可能なすべての構成を試しました:
configuration.ForAllControllersInAssembly(typeof(HomeController).Assembly)
.DenyAnonymousAccess();
configuration.ForAllControllersInheriting<HomeController>().DenyAnonymousAccess();
configuration.ForAllControllers().DenyAnonymousAccess();
それらのどれもこの問題ではうまくいかないようです。