84

ユーザーが認証されていない/許可されていない場合はいつでも例外をスローしたいコードの部分があります。

したがって、独自のNotAuthenticatedExceptionとNotAuthorizedExceptionを作成する代わりに、これらのC#標準がまだいくつかないかどうか疑問に思いました。

多くのプログラムが同様の例外をスローすることを想像できますが、全員が「自分のホイールを書き直す」としたら、あまり役に立ちません。

4

3 に答える 3

60

認可違反にUnauthorizedAccessExceptionを使用することもできます

于 2013-09-19T15:16:56.640 に答える
35

C# AuthenticationExceptionまたはInvalidCredentialExceptionクラスを使用します。

https://docs.microsoft.com/en-us/dotnet/api/system.security.authentication.authenticationexception

于 2013-03-19T09:49:36.913 に答える
10

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

要求が失敗すると、 ASecurityExceptionがスローされます。

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

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

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

于 2013-03-19T10:35:55.560 に答える