사용자가 인증되지 않았거나 권한이 없을 때마다 예외를 던지고 싶은 코드 부분이 있습니다.
따라서 내 자신의 NotAuthenticatedException 및 NotAuthorizedException을 작성하는 대신 이에 대한 C # 표준이 아직 없는지 궁금합니다.
많은 프로그램이 유사한 예외를 던지는 것을 상상할 수 있으며 모든 사람이 다시 '자신의 휠을 작성'하면별로 유용하지 않을 것입니다.
사용자가 인증되지 않았거나 권한이 없을 때마다 예외를 던지고 싶은 코드 부분이 있습니다.
따라서 내 자신의 NotAuthenticatedException 및 NotAuthorizedException을 작성하는 대신 이에 대한 C # 표준이 아직 없는지 궁금합니다.
많은 프로그램이 유사한 예외를 던지는 것을 상상할 수 있으며 모든 사람이 다시 '자신의 휠을 작성'하면별로 유용하지 않을 것입니다.
throw new NotAuthorizedException();
...
답변:
SecurityException
.
권한 위반에 UnauthorizedAccessException 을 사용할 수도 있습니다.
바퀴를 재발 명하지 않으려면 PrincipalPermission.Demand 또는 PrincipalPermissionAttribute를 사용 합니다.
SecurityException
요청이 실패하면 A 가 던져집니다.
를 사용하는 대신 명시 적으로 예외를 throw하려면 MSDN에 다음과 같이 설명되어 PrincipalPermission.Demand
있는 기존 유형 System.UnauthorizedAccessException을 재사용하는 것을 고려할 수 있습니다.
I / O 오류 또는 특정 유형의 보안 오류로 인해 운영 체제가 액세스를 거부 할 때 throw되는 예외입니다.
액세스를 거부하는 것은 OS가 아닌 앱이지만 아마도 충분히 가깝습니다.
SecurityException
두 시나리오 모두에 사용할 수 있습니다 .