[WebService(Namespace = "http://service.site.com/service/news")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
[ScriptService]
public class NewsService : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod]
public void DoPost(string title, string markdown, int categoryId)
{
if (!MembershipHelper.IsAtLeast(RoleName.Administrator))
throw new AuthenticationException();
// ...
}
}
Hay bastantes opciones disponibles pero ninguna parece estar especialmente diseñada para casos como este.C# ¿Qué excepción debo plantear aquí?
es decir:
- UnauthorizedAccessException: I/O
- AccessViolationException: Memoria cosas
- SecurityAccessDeniedException: Representa la excepción de seguridad que se inicia cuando una solicitud de autorización de seguridad falla.
etc.
¿Debo crear mi propio tipo de excepción para esto? ¿Qué excepción debería plantearse cuando los usuarios de membresía no tienen suficientes privilegios para invocar un método?