web-dev-qa-db-ja.com

未承認または未認証に対してスローできる.NET例外

ユーザーが認証されていない/許可されていないときに例外をスローするコードの一部があります。

したがって、独自のNotAuthenticatedExceptionとNotAuthorizedExceptionを書く代わりに、これらのC#標準がまだないのではないかと考えていました。

多くのプログラムが同様の例外をスローすることは想像できますが、誰もが再び「独自のホイールを作成する」のはあまり役に立ちません。

64
Dirk Boer
27
Darren

許可違反には nauthorizedAccessException を使用することもできます

48
Gruff Bunny

車輪の再発明を避けるために、私は PrincipalPermission.Demand または PrincipalPermissionAttribute を使用します。

要求が失敗した場合、SecurityExceptionがスローされます。

PrincipalPermission.Demandを使用するのではなく、明示的に例外をスローする場合は、MSDNで次のように説明されている既存のタイプ System.UnauthorizedAccessException を再利用することを検討できます。

I/Oエラーまたは特定の種類のセキュリティエラーが原因でオペレーティングシステムがアクセスを拒否した場合にスローされる例外。

アクセスを拒否しているのはOSではなくあなたのアプリですが、おそらく十分に近いでしょう。

9
Joe