web-dev-qa-db-fra.com

Exceptions .NET que je peux lancer pour Non autorisé ou Non authentifié

J'ai des parties de code où je veux lever une exception chaque fois qu'un utilisateur n'est pas authentifié/non autorisé.

Donc, au lieu d'écrire mes propres NotAuthenticatedException et NotAuthorizedException, je me demandais s'il n'y avait pas déjà des normes C # pour celles-ci.

Je peux imaginer que beaucoup de programmes lancent des exceptions similaires, et il ne serait pas très utile que chacun "écrive à nouveau sa propre roue".

64
Dirk Boer
27
Darren

Vous pouvez également utiliser nauthorizedAccessException pour les violations d'autorisation

48
Gruff Bunny

Pour éviter de réinventer la roue, j'utiliserais PrincipalPermission.Demand ou PrincipalPermissionAttribute .

Un SecurityException sera lancé pour vous si la demande échoue.

Si vous souhaitez lever explicitement une exception plutôt que d'utiliser PrincipalPermission.Demand, vous pouvez envisager de réutiliser le type existant System.UnauthorizedAccessException , qui est décrit dans MSDN comme:

Exception levée lorsque le système d'exploitation refuse l'accès en raison d'une erreur d'E/S ou d'un type spécifique d'erreur de sécurité.

C'est votre application plutôt que le système d'exploitation qui refuse l'accès, mais peut-être assez proche.

9
Joe