.NETexception我可以抛出未授权或未validation

我有部分代码,我想抛出一个exception,每当用户未经过身份validation/未经授权。

所以不是写我自己的NotAuthenticatedException和NotAuthorizedException,而是想知道是否还没有一些C#标准。

我可以想象很多程序都会抛出类似的Exceptions,如果每个人都再次写下他们自己的“轮子”,那也不会很有用。

使用C# AuthenticationException或InvalidCredentialException类。

http://msdn.microsoft.com/en-us/library/system.security.authentication.authenticationexception.aspx

您也可以使用UnauthorizedAccessException来授权违规

为了避免重蹈覆辙,我使用了PrincipalPermission.Demand或PrincipalPermissionAttribute 。

如果需求失败, SecurityException将被抛出。

如果您确实要显式引发exception而不是使用PrincipalPermission.Demand ,则可以考虑重用MSDN中描述的现有typesSystem.UnauthorizedAccessException :

操作系统由于I / O错误或特定types的安全错误而拒绝访问时引发的exception。

这是你的应用程序,而不是拒绝访问的操作系统,但也许足够接近。