【发布时间】:2012-05-15 06:41:25
【问题描述】:
我有一个包含多个操作的 WCF 服务。 每个操作都有“PrincipalPermission”标签,如下所示:
[PrincipalPermission(SecurityAction.Demand, Role = "Administrator")]
public ProductsDto GetAllProducts()
{
// Do operation here ...
}
问题是 - 如果用户不是“Administratir”角色的一部分 - 服务会引发异常
请求主体权限失败
这会将客户端的通道破坏为“故障”状态。
我希望能够以某种方式捕捉到这一点并向客户端发送“故障”消息,
让客户知道他试图做他不应该做的事情,而不会导致通道出错!
我尝试在操作中使用“try-catch”块,但没有帮助。 异常发生在操作本身的“外部”。
我该如何解决这个问题?
【问题讨论】:
标签: wcf authorization principal