2

我在 WCF 应用程序中使用基于角色的安全性。我用 System.Security.Permissions.PrincipalPermissionAttribute 修饰了我的服务操作实现。

如果授权失败,则会引发 System.Security.SecurityException(其中包含断言的角色)。

我想记录 System.Security.SecurityException 的详细信息。但是,如果我实现 IErrorHandler,我没有将原始 System.Security.SecurityException 传递给 HandleError 或 ProvideFault 方法,而是得到 System.ServiceModel.FaultException。后一个例外不包括我要记录的任何详细信息。

有没有办法从 IErrorHandler 中获取原始的 System.Security.SecurityException,或者 WCF 中是否有另一个钩子来获取它?

4

1 回答 1

1

根据微软的说法,一直在寻找:

http://connect.microsoft.com/VisualStudio/feedback/details/371181/wcf-ierrorhandler-logging-securityexceptions

WCF 将其过滤掉,因此您无法处理原始异常。

于 2011-10-11T23:54:15.480 回答