我有部分代码想要在用户未通过身份验证/未授权的情况下引发异常。
因此,我想知道是否还没有针对这些的C#标准,而不是编写自己的NotAuthenticatedException和NotAuthorizedException。
我可以想象很多程序都会抛出类似的异常,如果每个人都再次“写自己的轮子”,那将不是很有用。
我有部分代码想要在用户未通过身份验证/未授权的情况下引发异常。
因此,我想知道是否还没有针对这些的C#标准,而不是编写自己的NotAuthenticatedException和NotAuthorizedException。
我可以想象很多程序都会抛出类似的异常,如果每个人都再次“写自己的轮子”,那将不是很有用。
throw new NotAuthorizedException();
……
Answers:
SecurityException
。
您还可以将UnauthorizedAccessException用于授权违规
为了避免重新发明轮子,我将使用PrincipalPermission.Demand或PrincipalPermissionAttribute。
SecurityException
如果需求失败,将为您抛出A。
如果确实要显式引发异常而不是使用PrincipalPermission.Demand
,则可以考虑重用现有的System.UnauthorizedAccessException类型。,在MSDN中将其描述为:
当操作系统由于I / O错误或特定类型的安全错误而拒绝访问时引发的异常。
拒绝访问的是您的应用而不是操作系统,但可能足够接近。
SecurityException
这两种情况。