84

我有部分代码,只要用户未经过身份验证/未授权,我想抛出异常。

因此,我没有编写自己的 NotAuthenticatedException 和 NotAuthorizedException,而是想知道是否还没有针对这些的一些 C# 标准。

我可以想象很多程序都会抛出类似的异常,如果每个人都再次“编写自己的轮子”,那将不是很有用。

4

3 回答 3

60

您还可以将UnauthorizedAccessException用于授权违规

于 2013-09-19T15:16:56.640 回答
10

为了避免重新发明轮子,我会使用PrincipalPermission.DemandPrincipalPermissionAttribute

SecurityException如果请求失败,将为您抛出A。

如果您确实想显式抛出异常而不是使用PrincipalPermission.Demand,则可以考虑重用现有类型System.UnauthorizedAccessException,MSDN 中将其描述为:

当操作系统由于 I/O 错误或特定类型的安全错误而拒绝访问时引发的异常。

是您的应用程序而不是操作系统拒绝访问,但可能足够接近。

于 2013-03-19T10:35:55.560 回答